睡眠函数调用与互斥锁有关

时间:2016-01-15 15:39:28

标签: java c++ multithreading mutex sleep

我正在努力更好地掌握与互斥锁有关的睡眠函数调用。如果一个线程持有互斥锁,而另一个线程的睡眠过期,则控制是否立即返回第一个线程,或者线程是否必须至少等待保持互斥锁被释放,然后再切换回另一个线程?

1 个答案:

答案 0 :(得分:3)

Thread.sleep()与任何类型的锁定之间没有任何关系。

Thread.sleep(nnn)的调用在至少nnn毫秒之后才会返回(除非它抛出InterruptedException),并且这是开发人员需要知道的全部内容。

几乎所有关于互斥锁(例如,synchronized块)的知识都是,只有一个线程可以同时锁定同一个实例。一旦所有者解锁,锁定的互斥锁就可用于等待线程。它与sleep()调用中是否存在任何线程无关。