信号标 Semaphore (programming)
信号标(英语:Semaphore)又称为号志、旗语,它以一个整数变量,提供信号,以确保在并行计算环境中,不同行程在访问共享资源时,不会发生冲突。是一种不需要使用忙碌等待(busy waiting)的一种方法。
信号量的概念是由荷兰计算机科学家艾兹格·迪杰斯特拉(Edsger W. Dijkstra)发明的,广泛的应用于不同的操作系统中。在系统中,给予每一个行程一个信号量,代表每个行程目前的状态,未得到控制权的行程会在特定地方被强迫停下来,等待可以继续进行的信号到来。如果信号量是一个任意的整数,通常被称为计数信号量(Counting semaphore),或一般信号量(general semaphore);如果信号量只有二进位的0或1,称为二进位信号量(binary semaphore)。在linux系中,二进位信号量(binary semaphore)又称Mutex。