Object wait(long timeout) 方法让当前线程处于等待(阻塞)状态,直到其他线程调用此对象的
notify() 方法
或
notifyAll() 方法
,或者超过参数 timeout 设置的超时时间。
如果 timeout 参数为 0,则不会超时,会一直进行等待,类似于
wait() 方法
。
当前线程必须是此对象的监视器所有者,否则还是会发生
IllegalMonitorStateException
异常。
如果当前线程在等待之前或在等待时被任何线程中断,则会抛出
InterruptedException
异常。
如果传递的参数不合法,则会抛出
IllegalArgumentException
异常。
public final void wait(long timeout)
timeout
- 等待时间(以毫秒为单位)。
没有返回值。
以下实例演示了 wait(long timeout) 方法的使用:
实例
import
java
.
util
.
Collections
;
import
java
.
util
.
LinkedList
;
import
java
.
util
.
List
;
public
class
RunoobTest
extends
Object
{
private
List
synchedList
;
public
RunoobTest
(
)
{