World Conquest Chronicles

World Conquest Chronicles

go-hashmap, v1.3-alpha.2

The library that implements a hash map with synchronized and concurrent wrappers.

Support stopping of iteration over items and their keys.

Change Log

  • support stopping of iteration over items and their keys:
    • for a hash map;
    • for a synchronized hash map;
    • for a concurrent hash map.

Features

  • implementation of a hash map:
    • use the open addressing strategy for collision resolution;
    • use the key interface for supporting custom types;
    • support operations:
      • getting of an item by a key;
      • iteration over items and their keys:
        • support stopping of iteration;
      • setting of an item by a key;
      • deleting of an item by a key;
  • implementation of a synchronized hash map:
    • use the implementation described above as an inner map;
    • use a mutex lock to access the inner map;
    • support operations:
      • getting of an item by a key;
      • iteration over items and their keys:
        • support stopping of iteration;
      • setting of an item by a key;
      • deleting of an item by a key;
  • implementation of a concurrent hash map:
    • use data sharding for concurrent access;
    • use the synchronized implementation described above as one shard;
    • support operations:
      • getting of an item by a key;
      • iteration over items and their keys:
        • support stopping of iteration;
      • setting of an item by a key;
      • deleting of an item by a key.

Repository

Link: https://github.com/thewizardplusplus/go-hashmap/tree/v1.3-alpha.2.

Content: code.

License: MIT.