JUC
JUC概述Java.util.concurrent
基本概念
进程:资源分配最小单元
线程:操作系统调度的最小单元
线程状态
NEW
新建的线程实例会进入new状态
RUNNABLE
就绪状态,已经达到可以执行的条件了,等待cpu的调度
RUNNING
获得了cpu的时间片,正在执行,在java中此状态与Runnable合并了
BLOCKED
获取资源的状态,比如正在等待进入synchronized区域的时候
WAITTING
不会被cpu调度,除非显式唤醒
TIMED_WAITING
和waitting是一个性质,不过在等待时间到达后会被自动唤醒
TERMINATED
结束,且不可再被调用,否则抛出异常
wait/sleep
sleep是thread类的静态方法, wait是object的方法
sleep不会释放锁(不会释放占用的资源比如进入的同步块),wait会释放锁,可以让其他线程获取资源。
都可以被interrupted中断
123456789101112131415161718192021222324252627282930publ ...