迈克老狼

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 

      win32中,通过信号量来限定执行特殊代码的线程的数量。CreateSemaphore时候,可以指定信号量初始值以及最大值。线程执行时候,通过

WaitForSingleObject来判定现在的信号量计数是否允许执行线程。如果可以执行,则信号量减1,如果退出执行,信号量加1.

下面的代码,12个线程等待计数为10的信号量,会有2个线程timeout返回。

 

Code

 

posted on 2009-11-21 12:32  迈克老狼  阅读(481)  评论(0编辑  收藏  举报