Java多线程(五)-线程同步(死锁)
六.线程同步(并发)
死锁:
多个线程各自占有一些共有资源,相互等待其他线程占有的资源,导致两个或以上线程都在等待对方释放资源,都停止执行的情况。
某一个同步块同时有两个以上对象的锁时,可能发生死锁问题。
产生死锁条件:
- 一个资源每次只能被一个线程使用
- 一个线程因请求资源而阻塞,对已获得资源保持不放
- 线程已获得的资源在未使用完之前,不能强行夺走
- 若个线程之间形成循环等待资源关系
死锁:
多个线程各自占有一些共有资源,相互等待其他线程占有的资源,导致两个或以上线程都在等待对方释放资源,都停止执行的情况。
某一个同步块同时有两个以上对象的锁时,可能发生死锁问题。
产生死锁条件: