信号量Semaphore学习总结

信号量(Semaphore),有时被称为信号灯,是在多线程环境下使用的一种设施,是可以用来保证两个或多个关键代码段不被并发调用。在进入一个关键代码段之前,线程必须获取一个信号量;一旦该关键代码段完成了,那么该线程必须释放信号量。其它想进入该关键代码段的线程必须等待直到第一个线程释放信号量。为了完成这个过程,需要创建一个信号量VI,然后将Acquire Semaphore VI以及Release Semaphore VI分别放置在每个关键代码段的首末端。确认这些信号量VI引用的是初始创建的信号量。

原理入下图:

参数:

    资源数

    资源超时时间

流程:

    1.申请资源

    2.归还资源(正常归还、超时归还) 

常用:

1.连接池pool

猜你喜欢

转载自blog.csdn.net/laoxilaoxi_/article/details/80763128
今日推荐