mirror of
https://github.com/Snailclimb/JavaGuide
synced 2025-06-16 18:10:13 +08:00
死锁的四个必要条件
必要条件中有时是进程,有时又是线程,将其都改为线程。
This commit is contained in:
parent
a4f84bf7a1
commit
bf04a1159e
@ -212,9 +212,9 @@ Thread[线程 2,5,main]waiting get resource1
|
||||
学过操作系统的朋友都知道产生死锁必须具备以下四个条件:
|
||||
|
||||
1. 互斥条件:该资源任意一个时刻只由一个线程占用。
|
||||
2. 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
|
||||
2. 请求与保持条件:一个线程因请求资源而阻塞时,对已获得的资源保持不放。
|
||||
3. 不剥夺条件:线程已获得的资源在未使用完之前不能被其他线程强行剥夺,只有自己使用完毕后才释放资源。
|
||||
4. 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
|
||||
4. 循环等待条件:若干线程之间形成一种头尾相接的循环等待资源关系。
|
||||
|
||||
### 如何预防和避免线程死锁?
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user