From 6978ae445d725049cb41fbd4d9f1b203078fae1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pavie=C5=82=20Michalkievi=C4=8D?= <117771945+rustworthy@users.noreply.github.com> Date: Tue, 11 Jun 2024 14:35:38 +0500 Subject: [PATCH] Add links to leapfrog and flurry as concurrent hash tables examples (#764) --- content/tokio/tutorial/shared-state.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/content/tokio/tutorial/shared-state.md b/content/tokio/tutorial/shared-state.md index 7873dcb8..5fd13b00 100644 --- a/content/tokio/tutorial/shared-state.md +++ b/content/tokio/tutorial/shared-state.md @@ -212,10 +212,14 @@ shard.insert(key, value); The simple implementation outlined above requires using a fixed number of shards, and the number of shards cannot be changed once the sharded map is created. The [dashmap] crate provides an implementation of a more sophisticated -sharded hash map. +sharded hash map. You may also want to have a look at such concurrent hash table +implementations as [leapfrog] and [flurry], the latter being a port of Java's +`ConcurrentHashMap` data structure. [current_thread]: https://docs.rs/tokio/1/tokio/runtime/index.html#current-thread-scheduler [dashmap]: https://docs.rs/dashmap +[leapfrog]: https://docs.rs/leapfrog +[flurry]: https://docs.rs/flurry # Holding a `MutexGuard` across an `.await`