vic*_*ico 4 java multithreading java-threads
试图了解wait()和notify().我知道线程何时A进入wait()它将被notify()其他线程唤醒.
wait()
notify()
A
但究竟会发生什么,如果线程A,B,C去wait()以表示订单?谁会被唤醒notify()?根据我的实验,A线程将首先被唤醒.我是正确的?
B
C
这是否意味着系统知道线程的顺序是wait()什么?
Jon*_*eet 7
从文档中notify(),重点是我的:
唤醒正在此对象监视器上等待的单个线程.如果任何线程正在等待此对象,则选择其中一个线程被唤醒.选择是任意的,由实施决定.线程通过调用其中一个wait方法等待对象的监视器.
其他一些API,比如Semaphore,有"公平",在这里你可以确保线程的概念也继续在其封锁的顺序.
Semaphore
归档时间:
9 年,1 月 前
查看次数:
827 次
最近记录:
8 年,4 月 前