【发布时间】:2019-02-13 04:20:14
【问题描述】:
假设我有三个线程,T1, T2, T3、一个锁lock 和Resource 资源上的一些条件cond。
T1 获得锁,现在由于某些条件而执行cond.await(),T2 获得该锁并执行cond.signal(),然后继续执行lock.unlock(),但有一段时间,T3 也在尝试获取锁,所以它在lock.lock()的行,到底发生了什么?
T2 是否重新获得锁或T3 是否获得它或者它是基于调度程序的随机?
【问题讨论】:
标签: java multithreading operating-system locking