1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-16 18:10:13 +08:00

Update java-concurrent-questions-01.md

This commit is contained in:
HaiBooLang 2025-02-14 14:54:41 +08:00 committed by GitHub
parent 2a6783d0e4
commit 10b1ad2703
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -327,10 +327,10 @@ Thread[线程 2,5,main]waiting get resource1
上面的例子符合产生死锁的四个必要条件:
1. 互斥条件:该资源任意一个时刻只由一个线程占用。
2. 请求与保持条件:一个线程因请求资源而阻塞时,对已获得的资源保持不放。
3. 不剥夺条件:线程已获得的资源在未使用完之前不能被其他线程强行剥夺,只有自己使用完毕后才释放资源。
4. 循环等待条件:若干线程之间形成一种头尾相接的循环等待资源关系。
1. **互斥条件**:该资源任意一个时刻只由一个线程占用。
2. **请求与保持条件**:一个线程因请求资源而阻塞时,对已获得的资源保持不放。
3. **不剥夺条件**:线程已获得的资源在未使用完之前不能被其他线程强行剥夺,只有自己使用完毕后才释放资源。
4. **循环等待条件**:若干线程之间形成一种头尾相接的循环等待资源关系。
### 如何检测死锁?