Disruptor.liguo NuGet Package

说明:项目Disruptor是从disruptor java 3.2.0版本移植到.net 平台
作者:李果
系统要求:.net framework 4.0 vs 2010
java 版本地址:http://lmax-exchange.github.io/disruptor/
/*1.WaitStrategy等待策略:
* BlockingWaitStrategy 使用锁和条件变量等待屏障,这个策略适合性能,低延迟不重要,重要的是CPu资源(牺牲一定的性能,延迟换取CPU资源)
* BusySpinWaitStrategy 一个忙碌自旋等待一个屏障策略,可以避免系统调度引起的不稳定性,当线程绑定到特定的CPU上这是最好策略,但这将牺牲cpu资源
* YieldingWaitStrategy 这个策略在CPU资源和低延迟间做好很的平衡作用,不会产生显著的高延迟
* SleepingWaitStrategy 这个策略基于Thread.Sleep 开始自旋,其内部使用Thread.Sleep(0),挂起当前线程但其他线程可用继续执行 ,
* 这个策略是CPU资源和性能之间是个很好的则中 ,但可能出现高峰延迟现象
* TimeoutBlockingWaitStrategy 在BlockingWaitStrategy测试功能上增加了超时时间,在超时时间内没有获取到锁,抛出异常
* PhasedBackoffWaitStrategy 阶段性等待事件处理器完成的屏障,此策略适合吞吐量和低延迟的并不重要,重要的是CPU资源,其在自旋后再应用BlockingWaitStrategy策略
*2.ringBuffer:使用策略
* MultiThreadedLowContentionClaimStrategy 多个发布者同时使用ringBuffer,需要足够的CPU核数
* SingleThreadedClaimStrategy 单个发布者,此策略不适合多个线程发布者同时使用ringBuffer,只需要1个cas操作
* MultiThreadedClaimStrategy 适合多个发布者使用ringBuffer,要求有足够的cpu处理多个发布者线程,需要执行2个cas(比较交换)
* 3.AbstractSequencer 序列基类提供通用的add,remove序列的功能
* 4.MultiProducerSequencer 多生产者,适合多个线程生产者
* 5.SingleProducerSequencer 单生产者,多线程下不是安全的,因为他执行任何屏障等待
* 6.ProcessingSequenceBarrier 处理序列屏障,
* 7.Sequence ringBuffer核心单元,这个是个可以并发操作的序列类,拥有跟踪ringBuffer对事件的处理进度,解决伪共享,提供一系列原子操作
* 8.SequenceGroup ,SequenceGroupManaging SequenceGroupManaging封装了对SequenceGroup的内部管理(增加序列,删除序列操作)
* 9.NoOpEventProcessor 仅此用于跟踪事件处理器,在测试和发布者预填充ringBuffer场景下非常有用
* 10.WorkProcessor 实现有效的消费序列中的事件,和确保有效的屏障
* 11.RingBuffer Disruptor显示的核心类,可重复使用的包含数据的环形缓冲
* 12.BatchEventProcessor 批量事件处理
*/.




Got any Disruptor.liguo Question?





Info

Version: 3.2.0.2
Author(s): http://home.cnblogs.com/u/liguo/
Last Update: Wednesday, January 8, 2014
.NET Fiddle: Create the first Fiddle
Project Url: http://www.nuget.org/packages/Disruptor.liguo/
NuGet Url: https://www.nuget.org/packages/Disruptor.liguo


Install
Install-Package Disruptor.liguo
dotnet add package Disruptor.liguo
paket add Disruptor.liguo
Disruptor.liguo Download (Unzip the "nupkg" after downloading)



Tags



STATS

must-have-score

.3

avg-downloads-per-day

0

days-since-last-release

3753