如何在C ++中使用boost来创build线程池,以及如何将任务分配给线程池?
C ++ 0x是否会出现没有信号量的情况? 关于使用信号量,Stack Overflow已经有一些问题了。 我一直使用它们(posix信号量)让一个线程在另一个线程中等待某个事件: void thread0(…) { doSomething0(); event1.wait(); … } void thread1(…) { doSomething1(); event1.post(); … } 如果我用互斥体做到这一点: void thread0(…) { doSomething0(); event1.lock(); event1.unlock(); … } void thread1(…) { event1.lock(); doSomethingth1(); event1.unlock(); … } 问题:这是丑陋的,并不能保证thread1首先锁定互斥锁(假设同一个线程应该锁定和解锁互斥锁,在thread0和thread1开始之前,也不能锁定event1)。 所以既然boost还没有信号量,那么实现上面的最简单的方法是什么?