信号量:
1.相当于一个信号灯,程序里是一个非负整数,表示状态。可以用来保护两个或多个关键代码段,这些关键代码段不能并发调用。
2.在进入一个关键代码段之前,线程必须获取一个信号量。如果关键代码段中没有任何线程,那么线程会立即进入该框图中的部分。一旦该关键代码段完成,那么该线程必须释放信号量。
3.其它想进入该关键代码段的线程必须等待直到第一个线程释放信号量。为了完成这个过程,需要创建一个信号量,然后将Acquire Semaphore以及Release Semaphore分别放置在每个关键代码段的首末端。确认这些信号量引用的是初始创建的信号量。