死锁
要发生死锁,必须满足以下4个条件:
- 互斥,共享资源 x 和 y 分别只能被一个线程占用;
- 占有且等待,线程 T1 已经取得共享资源 x,在等待共享资源 y 的时候,不是释放共享资源 x;
- 不可抢占,其他线程不能强行抢占线程 T1 占有的资源;
- 循环等待,线程 T1 等待线程 T2 占有的资源,线程 T2 等待线程 T1 占有的资源。
只要破坏其中一个条件,就能避免死锁的发生。
Search
Dec 14, 2023, 1 min read
要发生死锁,必须满足以下4个条件:
只要破坏其中一个条件,就能避免死锁的发生。