本帖最后由 赵太云 于 2013-7-16 20:30 编辑
以下是一个死锁的程序。
在实际开发,在哪种情况下可能会遇到死锁的问题呢????- public class Test{
- public static void main(String[] args){
- new Thread(new ThreadTest1()).start();
- new Thread(new ThreadTest2()).start();
- }
- }
- class Lock{
- public static Object lock1 = new Object();
- public static Object lock2 = new Object();
- }
- class ThreadTest1 implements Runnable{
- public void run(){
- while (true){
- synchronized(Lock.lock1){
- synchronized(Lock.lock2){
- System.out.println("这个能输出? threadTest1");
- }
- }
- }
- }
- }
- class ThreadTest2 implements Runnable{
- public void run(){
- while (true){
- synchronized(Lock.lock2){
- synchronized(Lock.lock1){
- System.out.println("这个能输出? threadTest2");
- }
- }
- }
- }
- }
复制代码 |