4-6-7-sleep与wait-start与run

文章目录
  1. 1. sleep与wait
    1. 1.1. 1.来自不同类:sleep是thread,wait是Object
    2. 1.2. 2.是否释放锁:sleep不会释放锁。wait放弃锁,进入等待锁定池只有Notify才重新准备获取锁
    3. 1.3. 3.使用范围:wait, notify, notifyall只能在同步控制块或方法里
    4. 1.4. 4.是否捕获异常:sleep必须
  2. 2. start与run
    1. 2.1. 1.start是真正实现多线程,无需等待run完毕,可继续执行下面。
    2. 2.2. 2.start后处于就绪状态,并没有运行,除非得到cpu
    3. 2.3. 3.run就是普通方法,进入运行状态。还在主线程,运行结束,cpu再调度其他线程。

sleep与wait

1.来自不同类:sleep是thread,wait是Object

2.是否释放锁:sleep不会释放锁。wait放弃锁,进入等待锁定池只有Notify才重新准备获取锁

3.使用范围:wait, notify, notifyall只能在同步控制块或方法里

4.是否捕获异常:sleep必须

start与run

1.start是真正实现多线程,无需等待run完毕,可继续执行下面。

2.start后处于就绪状态,并没有运行,除非得到cpu

3.run就是普通方法,进入运行状态。还在主线程,运行结束,cpu再调度其他线程。