Semaphore有什么作用

2021-11-29 20:08发布

17条回答
老易
2021-12-10 15:12
在多线程环境下用于协调各个线程, 以保证它们能够正确、合理的使用公共资源信号量维护了一个许可集,我们在初始化Semaphore时需要为这个许可集传入一个数量值,
该数量值代表同一时间能访问共享资源的线程数量。
线程可以通过acquire()方法获取到一个许可,然后对共享资源进行操作,
如果许可集已分配完了,那么线程将进入等待状态,
直到其他线程释放许可才有机会再获取许可,线程释放一个许可通过release()方法完成


一周热门 更多>