notifyAll使所有原来在该对象上等待被notify的线程统统退出wait的状态,变成等待该对象上的锁,一旦该对象被解锁,他们就会去竞争。notify则文明得多他只是选择一个wait状态线程进行通知,并使它获得该对象上的锁,但不惊动其他同样在等待被该对象notify的线程们,当第一个线程运行完毕以后释放对象上的锁此时如果该对象没有...
signal和broadcast对应着11里面的notify_one和notify all。结合代码来进行说明: //我们想管理的值是int[]类型的,然而事实上传给模板参数的是int//需要显示提供delete functor//不能使用std::make_shared,无法保证异常安全//c++17前shared_ptr未提供opreator[],所以当需要类似操作时不得不使用sp3.get()[index]的形...