信号量是一种用于进程同步和互斥的机制,它是一个整数变量。当进程需要进入临界区时,需要对信号量进行P操作(减一),表示该资源被占用,其他进程需要等待;当进程退出临界区时,需要对信号量进行V操作(加一),表示该资源空闲,其他进程可以进入。信号量可以用于解决生产者消费者问题、读者写者问题等同步问题。
信号量(Semaphore),有时被称为信号灯,是在多线程环境下使用的一种设施,是可以用来保证两个或多个关键代码段不被并发调用。
在进入一个关键代码段之前,线程必须获取一个信号量;一旦该关键代码段完成了,那么该线程必须释放信号量。
其它想进入该关键代码段的线程必须等待直到第一个线程释放信号量。
为了完成这个过程,需要创建一个信号量VI,然后将Acquire Semaphore VI以及Release Semaphore VI分别放置在每个关键代码段的首末端。
确认这些信号量VI引用的是初始创建的信号量。