Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > Linux死锁与解决

Linux之死锁与解决方式

作者:风吹雨淋

这篇文章主要介绍了Linux之死锁与解决方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

死锁

死锁:指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所站用不会释放的资源而处于的一种永久等待状态。

死锁现象:

现象2模拟:

两个线程都处于阻塞状态

死锁的必要条件

只要产生死锁,这四个条件一定会出现

解决方案

使线程的加锁顺序一致

破坏环路等待条件

使用非阻塞锁,一旦线程发现请求的锁被使用,就去释放自己拥有的锁

在加锁前,将临界资源一次性分配给线程A再加锁

try锁:pthread_mutex_try

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文