任何人都可以告诉我什么是计数信号量? 计算信号量的优势是什么? 你可以在c中写一个计数信号量的代码片段吗?计数信号量的优势
Q
计数信号量的优势
0
A
回答
0
在你有N个可用资源计数信号量可以保持剩余资源的数量的轨道 案件。当任何线程访问信号量计数器 中的一个时,计数器会减1,当线程释放信号量时,计数器将增加1。 如果计数器达到零并且一个线程要求资源线程将被阻塞 直到另一个线程释放信号量。 信号量的一个众所周知的应用是生产者 - 消费者。 你可以在这里找到一个很好的生产者消费者问题描述:https://en.wikipedia.org/wiki/Producer%E2%80%93consumer_problem 它还包括你寻找的简单代码。
信号量也可被初始化,以限制它控制资源的最大数量。 如果我们限制为1,这个被称为它只有两种状态SEMA = 1或SEMA = 0 二进制和计数信号在这里比较二进制信号: Differnce between Counting and Binary Semaphores
0
计数信号量大约一样强大的条件变量(与互斥体一起使用)。在许多情况下,使用计数信号量而不是条件变量来实现代码可能会更简单(如下几个示例所示)。
从概念上讲,信号量是非负整数。信号量通常用于协调对资源的访问,并将信号计数初始化为可用资源的数量。线程然后在添加资源时以原子方式递增计数,并在资源被移除时以原子方式递减计数。
当信号量计数变为零,这表明没有更多的资源存在时,线程试图减小信号块等待直到计数变为大于零。
参考this link例如。
相关问题
- 1. 信号量计数
- 2. 在Linux计数信号量?
- 3. 使用二进制信号量作为计数信号量
- 4. Windows上的快速计数信号量?
- 5. 计数信号量的使用案例
- 6. 定义优势的优势
- 7. 带信号量的优先图
- 8. 具有优先级的信号量
- 9. 使用SysV计数信号量
- 10. 使用java实现计数信号量
- 11. 在java中实现计数信号量
- 12. 信号量优先级反转
- 13. 信号量:关键部分与优先
- 14. 统计员超过集合的优势
- 15. C中设置的信号量的最大信号量数
- 16. 优势
- 17. 优势
- 18. 优势
- 19. 优势
- 20. 优势
- 21. 优势Activator.CreateInstance的
- 22. BTREE的优势?
- 23. NoSQL的优势
- 24. 优势的ArrayList
- 25. directExecutor的优势
- 26. 信号量计数器和信号量方法之间的理解差异整数参数?
- 27. 计算大量的数据库用户数据统计信息:优化性能
- 28. noSql优于newSql的优势
- 29. MySQLi优于MySQL的优势
- 30. SqlEntityConnection优于SqlDataConnection的优势?
你试过Google搜索“计数信号量”吗? – scottysmalls
是的,我尝试了很多,但没有得到实时问题计数信号量的确切好处。因为让所有线程访问共享资源都可能导致损坏。 –