线程休眠
基本概念
- sleep() 方法定义在Thread类中
- sleep()方法的作用:
- 让当前线程休眠
- 当前线程会从 [运行状态] 进入 [休眠或者阻塞状态]
- sleep() 会指定休眠时间:
- 当线程休眠的时间大于或者等于该休眠时间时,线程被唤醒,会由 [阻塞状态] 进入 [就绪状态], 等待CPU的调度执行
sleep()与wait()比较
相同点
- sleep() 的作用是休眠,会让当前线程离开 [运行状态]
- wait() 的作用是等待,也会让当前线程离开 [运行状态]. 会进入等待或阻塞状态,同时会释放对象的同步锁
不同点
- sleep() 是让当前线程由 [运行状态] 进入到 [休眠阻塞状态]. wait() 是让当前线程由 [运行状态] 进入到 [等待阻塞状态]
- sleep() 方法不会让当前线程释放持有的对象的同步锁 . wait() 方法会让当前线程释放持有的对象的同步锁