Geo*_*ett 15 c# multithreading .net-4.0
使用.net 4.0,添加了几个与线程相关的新类:ManualResetEventSlim,SemaphoreSlim和ReaderWriterLockSlim.
Slim版本和旧版本之间有什么区别,什么时候应该使用其中一个?
Ric*_*ett 17
ReaderWriterLockSlim是一个更好的版本ReaderWriterLock更快,并没有遭受作家饥饿
ManualResetEventSlim并且SemaphoreSlim是a的完全托管版本,ManualResetEvent并且Semaphore在回退到内核对象之前等待一段时间,因此当等待时间很短时,它比旧版本更快.
小智 7
ManualResetEventSlim和SemaphoreSlim是其内核对应项的轻量级版本,除非调用它们的属性,否则不会分配任何内核对象WaitHandle。
当调用 Wait 时,这些类型不会直接阻塞,而是在阻塞之前短暂旋转,以防收到信号
ManualResetEventSlim构造函数可以SpinCount在阻塞之前自定义 spns 的数量
这两种类型都支持取消,您可以将 CancellationToken 传递给 Wait 方法
SemaphoreSlim公开了不公开的CurrentCount属性Semaphore
ManualResetEventSlim拥有一个没有的IsSet属性ManualResetEvent。
| 归档时间: |
|
| 查看次数: |
9135 次 |
| 最近记录: |