在写并发程序的时候,不可避免的有时会遇见思索的问题,这里介绍几种常见的避免死锁的方法:
1、避免一个线程同时获取多个锁
2、避免一个线程同时占用多个资源,尽量保证每个锁只占用一个资源
3、尝试使用定时锁,使用lock.tryLock(timeout)来替代使用内部锁机制
4、对于数据库锁,加锁和解锁必须在一个数据库连接里,否则会出现解锁失败的情况
避免死锁的几种常见方法
最新推荐文章于 2024-08-02 11:24:42 发布
在写并发程序的时候,不可避免的有时会遇见思索的问题,这里介绍几种常见的避免死锁的方法:
1、避免一个线程同时获取多个锁
2、避免一个线程同时占用多个资源,尽量保证每个锁只占用一个资源
3、尝试使用定时锁,使用lock.tryLock(timeout)来替代使用内部锁机制
4、对于数据库锁,加锁和解锁必须在一个数据库连接里,否则会出现解锁失败的情况