文件名称:NonBlocking:.Net上无锁字典的实现
文件大小:60KB
文件格式:ZIP
更新时间:2024-05-22 23:46:23
fast dictionary high-performance lock-free wait-free
非阻塞 非阻塞字典的实现。 概述 非阻塞词典: NonBlocking词典与ConcurrentDictionary具有相同的API。 在任何操作(包括获取,添加,删除,内部调整大小等)期间都不会获取任何锁定。 虽然多个线程访问NonBlocking词典将在诸如调整表大小之类的操作中互相帮助,但并不依赖于此类行为。 如果任何线程由于某种原因而未计划或延迟,其他线程将能够独立取得进展。 实施说明 核心算法基于NonBlockingHashMap,由Cliff Click博士编写并发布到公共领域。 一个很好的概述在这里 此实现的大多数差异是由.Net平台上的公共API的差异引起的: .Net具有结构和泛型泛型。 平台API(例如Interlocked.CompareExchange)有差异。 ConcurrentDictionary API与典型的Java词典不同。 在平台上测
【文件预览】:
NonBlocking-master
----.gitattributes(2KB)
----NonBlocking.sln(4KB)
----src()
--------NonBlocking()
----BenchmarksCore()
--------Program.cs(19KB)
--------BenchmarksCore.csproj(526B)
----LICENSE(1KB)
----test()
--------NonBlockingTests()
----README.md(2KB)
----Benchmarks()
--------packages.config(163B)
--------Program.cs(17KB)
--------App.config(382B)
--------Benchmarks.csproj(3KB)
----.gitignore(3KB)