假设我有三个线程,T1, T2, T3一个锁lock和cond一个Resource资源上的一些条件。
T1, T2, T3
lock
cond
Resource
T1获得锁,现在cond.await()由于某些条件而T2获得该锁,cond.signal()然后继续执行lock.unlock(),但有一段时间,T3也试图获得锁,所以它位于 的行lock.lock(),究竟发生了什么?
T1
cond.await()
T2
cond.signal()
lock.unlock()
T3
lock.lock()
是T2重新获得锁还是获得了锁,还是T3基于 scheudler 是随机的?
白衣非少年
杨__羊羊
相关分类