注意:锁并不是产生死锁的一般条件,比如有两个线程,彼此join,这也会产生死锁;
建议一:当一个线程获得一个锁的时候,不要去获得第二个;
建议二:当获取一个锁的时候,尽量不要使用用户提供的代码:
比如你现在写了一个框架,里面需要一些需要用户提供的代码,但是你又不知道用户是哪些牛鬼蛇神,这不能保证线程里没有除了已经获取的锁之外没有其他锁;
时间:2024-06-05 13:35:08
注意:锁并不是产生死锁的一般条件,比如有两个线程,彼此join,这也会产生死锁;
比如你现在写了一个框架,里面需要一些需要用户提供的代码,但是你又不知道用户是哪些牛鬼蛇神,这不能保证线程里没有除了已经获取的锁之外没有其他锁;