在多线程编程中, sleep() 和 wait() 是两个常用的方法,用于控制线程的指向状态。
(2) sleep不会释放锁,它也不需要占用锁。wait会释放锁,但调用它的前提是当前线程占有锁(即代码锁要在synchronized
中)
(3)它们都可以被interrupted
方法中断。
使用方法,如下:
1 public static void main(String[] args) throws InterruptedException { 2 // 1.sleep的使用呢方法 3 Thread.sleep(1000); // 休眠1秒 4 // 2.wait使用放放风 5 Class lock = Demo1Main.class; 6 synchronized (lock) { 7 lock.wait(); // 等待满足条件 8 // 满足条件时唤醒 9 lock.notify(); // 唤醒等待中的线程 10 lock.notifyAll(); // 唤醒所有等待中的线程 11 } 12 }