线程死锁

多线程以及多进程改善了系统资源的利用率并提高了系统的处理能力。然而,并发执行也带来了新的问题--死锁。所谓死锁是指多个线程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将无法向前推进

 

死锁是指多个线程在运行过程中因争夺资源而造成的一种僵局,当线程处于这种僵持状态时,若无外力作用,它们都将无法向前推进

1互斥共享资源被竞争性的访问,共享资源同一时刻只能被一个线程占用

2持有并等待。线程持有已经分配给他们的资源,同时等待其他的资源

3资源不可剥夺。线程已经获取到的资源不会被其他线程强制抢占

4循环等待。线程之间存在资源的环形依赖链,每个线程都依赖于链条中的下一个线程释放必要的资源,而链条的末尾又依赖了链条头部的线程,进入了一个循环等待的状态;

posted @ 2021-07-15 09:39  王子剑  阅读(33)  评论(0编辑  收藏  举报