【科普】多线程中的信号量!

神秘无痕 2019-1-18 3888

'--------------------------------[信号量]--------------------------------

'作者:神梦无痕

'QQ:1042207232

'

/*【描述】(空闲线程 --> 空车位)

以一个停车场的运作为例。简单起见,假设停车场只有三个车位【并发上限】, 

一开始三个车位都是空的【空闲线程】。这时如果同时来了五辆车,

看门人允许其中三辆直接进入【空闲线程 减3】, 


然后放下车拦【信号量等待】,剩下的车则必须在入口等待,此后来的车也都不得不在入口处等待。 

这时,有一辆车离开停车场【空闲线程 加1】,看门人得知后,打开车拦【信号量释放】,

放入外面的一辆进去【空闲线程 减1】,


如果又离开两辆【空闲线程 加2】,则又可以放入两辆【空闲线程 减2】,如此往复。 

在这个停车场系统中,车位是公共资源,每辆车好比一个线程,看门人起的就是信号量的作用。

*/


最新回复 (0)
返回
发新帖