摘要: 信号量历史悠久,折磨死了一代又一代的计算机专业学生,但是不得不承认其在Multi-thread环境下的巨大作用。最经典的案例莫过于管理一个环状缓冲区。.NET 中的Semaphore对象等同于Win32中的Semaphore。属于内核级对象,因此使用它的代价就比较大了。并且Semaphore对象每次仅仅能够等待一个Count,这有的时候让事情变得有些烦,例如你可能不得不将环状缓冲区分割为一个个的Chunk(实际上这是一个好方法,因为我们应该对于Cache进行优化)。Qt中的信号量可以一次获得多个Count,感觉很方便。综上,我们希望自己动手实现一个轻量级的,支持一次获得多个资源的信号量。 阅读全文
posted @ 2008-07-29 22:56 TW-刘夏 阅读(3902) 评论(10) 推荐(1) 编辑