JAVA死锁2

来源:互联网 发布:如何下载旧版软件 编辑:程序博客网 时间:2024/05/16 19:42
public class Deadlock{    public static void main(String[  ] args) {        final Object resource1 = "resource1";        final Object resource2 = "resource2";        int a=0;        Thread t1 = new Thread( ) {                public void run( ) {                    synchronized(resource1) {                        System.out.println("Thread 1: locked resource 1");                        try {                         Thread.sleep(50);                         }catch (InterruptedException e) {                                                  }                        synchronized(resource2) {                        while(true){                        System.out.println("Thread 1: locked resource 2");                            try {                            Thread.sleep(10000);                            }catch (InterruptedException e) {                                                        }                        }                        }                    }                }            };                Thread t2 = new Thread( ) {                public void run( ) {                    synchronized(resource2) {                                            System.out.println("Thread 2: locked resource 2");                                                try {                         Thread.sleep(50);                         }catch (InterruptedException e) {                                                  }                           synchronized(resource1) {                                                    System.out.println("Thread 2: locked resource 1");                                                    }                    }                }            };                t1.start( );         t2.start( );    }}