关于std::mutex in c++11,我有一个(相当简单的)问题:
假设6个线程希望使用std::lock_guard锁定相同的互斥对象。线程1请求锁,然后线程2执行相同的操作,等等,直到所有6个线程都请求锁。获得锁的第一个线程将使其他5个线程阻塞,直到每个线程都可用锁为止。
现在,其他5个线程是否会按照他们所要求的顺序接收锁?即使他们都要求这样做,我们是否可以想当然地认为线程2将是下一个接收锁的线程,或者其中一个线程可能会饿死?
发布于 2016-10-29 13:20:03
他们将以一个未定义的顺序得到互斥。
https://stackoverflow.com/questions/40319317
复制相似问题