关于实现线程死锁的一个例子
来源:互联网 发布:国内外大数据现状分析 编辑:程序博客网 时间:2024/06/13 08:10
class DeadLock
private final Object obj2 = new Object();
public static void main(String[] args){
DeadLock dl = new DeadLock();
dl.testDeadLock();
//System.out.println("Hello World!");
}
public void testDeadLock(){
new Thread(new Runnable(){
public void run(){
testSync(obj1,obj2);
System.out.println("obj1...");
}
}).start();
new Thread(new Runnable(){
public void run(){
testSync(obj2,obj1);
System.out.println("obj2...");
}
}).start();
}
public static void testSync(Object obj,Object obje){
synchronized(obj){
try{
Thread.sleep(2*1000);
}catch(Exception e){
e.printStackTrace();
}
synchronized(obje){
try{
Thread.sleep(2*1000);
}catch(Exception e){
e.printStackTrace();
}
}
}
}
}
{
//模拟两个对象
private final Object obj1 = new Object();private final Object obj2 = new Object();
public static void main(String[] args){
DeadLock dl = new DeadLock();
dl.testDeadLock();
//System.out.println("Hello World!");
}
public void testDeadLock(){
new Thread(new Runnable(){
public void run(){
testSync(obj1,obj2);
System.out.println("obj1...");
}
}).start();
new Thread(new Runnable(){
public void run(){
testSync(obj2,obj1);
System.out.println("obj2...");
}
}).start();
}
public static void testSync(Object obj,Object obje){
synchronized(obj){
try{
Thread.sleep(2*1000);
}catch(Exception e){
e.printStackTrace();
}
synchronized(obje){
try{
Thread.sleep(2*1000);
}catch(Exception e){
e.printStackTrace();
}
}
}
}
}
阅读全文
0 0
- 关于实现线程死锁的一个例子
- 一个线程死锁的例子
- 一个线程死锁的例子
- java中的线程死锁的一个例子
- 一个死锁的例子
- 发一个很久以前遇到的线程死锁例子
- 一个关于 死锁 的实现Demo
- 一个简单的死锁例子
- 一个死锁的简单例子
- 一个简单的死锁例子
- 一个死锁的简单例子
- 一个简单死锁的例子
- java死锁的一个例子
- 一个简单的死锁例子
- 关于死锁,并用Java实现一个死锁
- 写一个完整的程序,实现线程死锁
- 一个线程的死锁情况
- 关于线程死锁的问题
- 一张图读懂三个值得投资的消费金融平台
- SpringBoot(四):SpringBoot整合JdbcTemplate
- PAT 1014. 福尔摩斯的约会
- SpringBoot(五):SpringBoot整合MyBatis
- Angularjs2
- 关于实现线程死锁的一个例子
- 用shell脚本语言实现一个斐波那契数列的递归和非递归版本
- 求<=N的平方数
- 日期推算
- 349 Intersection of Two Arrays
- java8 lambda 使用 与 functional interface 与 function 类
- 【MongoDB】explain & hint
- 1_单一职责原则
- SSH Unit01