JUC学习(一)

一、JUC是java原生并发包 java.util.concurrent

 二、线程的六种状态

1、NEW:新建
2、RUNNABLE:运行
3、BLOCKED:阻塞
4、WAITING:等待
5、TIMED_WAITING:延时等待
6、TERMINATED:终止

三、WAIT 和 SLEEP 区别

  WAIT SLEEP
类不同 Object Thread
释放 不会
范围 WAIT和NOTIFY是在线程通信时一起使用 独立方法,哪里都可以用
异常   需要补货

四、Synchronized 和 Lock 区别

  Synchronized Lock
类型 关键字 对象
获取锁 无法获取 可尝试获取、判断
释放锁 自动释放 必须手动,不释放会死锁
遇阻塞 一直等待 尝试获取,失败放弃
是否公平 非公平 可通过参数设置是否公平,默认非公平
锁范围控制 块或类 可精准控制

猜你喜欢

转载自www.cnblogs.com/xbflovetj/p/12409963.html