• 技术文章 >Python技术 >Python高级

    python多线程死锁问题处理

    十一十一2020-12-31 15:10:03原创3031

    python多线程死锁.png

    死锁的这个概念在很多地方都存在,大概介绍下死锁是怎么产生的

    1.A拿了一个苹果

    2.B拿了一个香蕉

    A现在想再拿个香蕉,就在等待B释放这个香蕉,B同时想要再拿个苹果,这时候就等待A释放苹果

    这样就是陷入了僵局,这就是生活中的死锁。

    关于死锁的问题解决方案:

    1.对锁进行排序

    2.可以让线程在尝试持有新的锁失败的时候主动放弃所有目前已经持有的锁,比如我们可以设置机制检测死锁的发生并对其进行处理。

    3.对这些锁进行编号。我们规定当一个线程需要同时持有多个锁的时候,必须要按照序号升序的顺序对这些锁进行访问。通过上下文管理器我们可以很容易实现这一点。

    专题推荐:多线程死锁
    上一篇:如何在python数据挖掘使用pandas包? 下一篇:python中列表的常见操作

    相关文章推荐

    • python队列实现多线程怎么做?• python多线程和多进程之间的联系

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网