![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
文章平均质量分 91
柴郡猫乐园
这个作者很懒,什么都没留下…
展开
-
C++11实现一个cyclic barrier
举个生活中的例子,假如有5个好基友,商量好周末一块去爬山,他们约定周日早上8点在山脚下集合,不见不散。周日那天,如果一个先到了,发现没有其他人到达,就只好等着,第二个人到了之后,发现还没有到期,也只能等待,直到第5个人到达后,所有5个人全部到齐了,就一起出发开始爬山。如果我们在脑海中想象有一个栅栏(barrier)立在山门口,如果它不拿走,人们是无法越过去的,它被拿走的条件是,5个基友全部到达。如果这5个基友哪怕仅有一个还没有到达,它也不会被放倒,基友就被拦在外面,只有当5个基友全部到达之后,这个栅栏才会陡原创 2021-12-15 21:26:26 · 1404 阅读 · 0 评论 -
C++11实现一个countdown latch
在日常生活中,我们经常遇到这样场景,当要做一件事情时,要先等待几个固定数目的其它事情做完了,才能进行,如果别的事情没有就绪,只能等待。比如,一个工厂有存放原材料的仓库,仓库的大门共有三把锁,分别由仓管员、主管部门经理和值班经理保管,当一个(或几个)领料员上班后去仓库领材料,发现仓库大门锁着,那么他就只能等着这三个掌管钥匙的人员来开门:如果主管部门经理来上班了,就把他负责的那把锁打开,然后去工作了,此时领料员只能继续等待,当值班经理来上班之后,把他负责的那把锁打开,然后也去工作了,只有最后仓管员上班之后打开最原创 2021-12-12 21:15:15 · 3162 阅读 · 0 评论