程序员

温故而知心 - 多线程死锁情况

2016-09-21  本文已影响0人  哈比猪

死锁的必要条件

死锁的简单例子

A Thread:

{
  Lock(Mutex_A);
  Lock(Mutex_B);
}

B Thread:

{
  Lock(Mutex_B);
  Lock(Mutex_A);
}

由于两次Lock之间并不是原子操作,故有几率的当A线程进入Lock(Mutex_A)的时候B线程恰好进入了Lock(Mutex_B),这时候产生了循环等待,就进入了死锁。

上一篇 下一篇

猜你喜欢

热点阅读