什么是信号量

能给个简单的例子程序吗。

第1个回答  推荐于2017-11-27
信号量(Semaphore)-- 相当一个信号灯,程序里是一个非负整数,表示状态.

可以用来保护两个或多个关键代码段,这些关键代码段不能并发调用。在进入一个关键代码段之前,线程必须获取一个信号量。如果关键代码段中没有任何线程,那么线程会立即进入该框图中的那个部分。一旦该关键代码段完成了,那么该线程必须释放信号量。其它想进入该关键代码段的线程必须等待直到第一个线程释放信号量。为了完成这个过程,需要创建一个信号量,然后将Acquire Semaphore 以及Release Semaphore 分别放置在每个关键代码段的首末端。确认这些信号量引用的是初始创建的信号量。本回答被提问者采纳
第2个回答  2013-08-14
相似回答