Update Java 并发编程线程基础.md

master
Omooo 4 years ago
parent de6c52d3b5
commit 3b5e22ec25
  1. 8
      blogs/Java/并发/Java 并发编程线程基础.md

@ -11,6 +11,7 @@ Java 并发编程线程基础
5. 让出 CPU 执行权的 yield 方法
6. 线程中断
7. 线程死锁
8. 守护线程与用户线程
#### 线程的创建与运行
@ -155,3 +156,10 @@ public static boolean interrupted() {
那么如何避免死锁呢?
要想避免死锁,只需要破坏掉至少一个构成死锁的条件即可,但是目前只有请求并持有和环路等待条件是可以被破坏的。
造成死锁的原因其实和申请资源的顺序有很大关系,使用资源申请的有序性原则就可以避免死锁。
#### 守护线程与用户线程
Java 中的线程分为两类,分别是 daemon 线程(守护线程)和 user 线程(用户线程)。JVM 在运行用户线程的同时,还运行着很多守护线程,比如有垃圾回收线程。那么守护线程和用户线程有什么区别呢?区别之一是当最后一个用户线程结束时,JVM 正常退出,而不管当前是否有守护线程,也就是说守护线程是否结束并不影响 JVM 的退出。
Loading…
Cancel
Save