黑马程序员技术交流社区
标题:
多线程 死锁
[打印本页]
作者:
fmi110
时间:
2015-10-5 23:11
标题:
多线程 死锁
a
package demo;
public class DeadLockDemo {
public static void main(String[] args) {
final M m = new M();
new Thread(){
public void run() {
while (true)
m.run();
};
}.start();
new Thread() {
public void run() {
while (true)
m.go();
};
}.start();
}
}
class M {
Object lock1 = new Object();
Object lock2 = new Object();
public void run(){
synchronized(lock1){ //嵌套锁
System.out.println("lock1 run()"+Thread.currentThread().getName());
synchronized(lock2){
System.out.println("lock2 run()"+Thread.currentThread().getName());
}
}
}
public void go(){
synchronized(lock2){
System.out.println("go run()"+Thread.currentThread().getName());
synchronized(lock1){
System.out.println("go run()"+Thread.currentThread().getName());
}
}
}
}
复制代码
lock1 run()Thread-0
lock2 run()Thread-0
lock1 run()Thread-0
lock2 run()Thread-0
lock1 run()Thread-0
go run()Thread-1
复制代码
作者:
Rzzz
时间:
2015-10-6 01:05
正在学习这块 过来瞄一眼!
作者:
秦时明月汉时关
时间:
2015-10-6 09:40
哈哈哈哈哈哈哈哈哈
作者:
Synaric
时间:
2015-10-6 09:41
不错不错,很直观
作者:
拂袖叙五代
时间:
2015-10-6 09:54
写的不错啊
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2