Disruptor.liguo (nuget): 说明：项目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 批量事件处理   */
Keywords: Disruptor