1. 多次加锁导致死锁的原因?在一个线程中开始加锁保护资源,如果在线程中间有函数内部又进行加锁,因为函数需要等待线程解锁才能接到锁继续往下执行,所以造成死锁。
2. 什么是嵌套锁? 当一个线程内有函数有加锁操作,为避免死锁可使用嵌套锁。嵌套锁对于本线程,多次加锁只加一次,后续加锁只计数。而其它线程要想加锁占有资源,则只能等到本线程解锁完毕。解锁也只有本线程才可以解锁。
1. 多次加锁导致死锁的原因?在一个线程中开始加锁保护资源,如果在线程中间有函数内部又进行加锁,因为函数需要等待线程解锁才能接到锁继续往下执行,所以造成死锁。
2. 什么是嵌套锁? 当一个线程内有函数有加锁操作,为避免死锁可使用嵌套锁。嵌套锁对于本线程,多次加锁只加一次,后续加锁只计数。而其它线程要想加锁占有资源,则只能等到本线程解锁完毕。解锁也只有本线程才可以解锁。