关于死锁的产生
2015-07-21 23:05
239 查看
两个线程相互访问对方的释放锁,导致锁死
package thread.deaklock;
public class A {
static class B{
}
static class C{
}
static class run implements Runnable{
}
public static void main(String[] args) {
}
}
package thread.deaklock;
public class A {
static class B{
public B(){ } C c; /** * @param c */ public B(C c) { this.c = c; } public synchronized void tosayB(C c){ System.out.println("B to say hello!"); c.tosayC(this); }
}
static class C{
public C(){ } public synchronized void tosayC(B b){ System.out.println("C to say hello!"); b.tosayB(this); }
}
static class run implements Runnable{
C c; B b; /** * @param c * @param b */ public run(C c, B b) { this.c = c; this.b = b; } public void run() { c.tosayC(b); b.tosayB(c); }
}
public static void main(String[] args) {
C c = new C(); B b = new B(); new Thread(new run(c, b)).start(); new Thread(new run(c, b)).start();
}
}
相关文章推荐
- 基于oracle中锁的深入理解
- C#多线程编程中的锁系统(三)
- Redis数据库中实现分布式锁的方法
- C#多线程编程中的锁系统基本用法
- PHP通过插入mysql数据来实现多机互锁实例
- Java锁之阻塞锁介绍和代码实例
- Mysql数据库锁定机制详细介绍
- python多线程threading.Lock锁用法实例
- 自旋锁学习系列(3):指数后退技术
- 一篇不错的对于乐观锁和悲观锁的解释帖子
- Android 锁屏和黑屏的广播消息
- 行记录被锁
- Iphone 音频总结
- ORACLE 的锁
- 读写锁(Read-Write Lock)的一种实现
- 一个简单的进程间mutex和读写锁类
- oracle锁
- Linux内核锁机制
- 锁 死锁 阻塞