//
死锁
public
class
TestDeadLock
implements
Runnable
...
{ public int flag = 1; static Object o1 = new Object(), o2 = new Object(); public void run() ...{ System.out.println("flag=" + flag); if(flag == 1) ...{ synchronized(o1) ...{ try ...{ Thread.sleep(500); } catch (Exception e) ...{ e.printStackTrace(); } synchronized(o2) ...{ System.out.println("1"); } } } if(flag == 0) ...{ synchronized(o2) ...{ try ...{ Thread.sleep(500); } catch (Exception e) ...{ e.printStackTrace(); } synchronized(o1) ...{ System.out.println("0"); } } } } public static void main(String[] args) ...{ TestDeadLock td1 = new TestDeadLock(); TestDeadLock td2 = new TestDeadLock(); td1.flag = 1; td2.flag = 0; Thread t1 = new Thread(td1); Thread t2 = new Thread(td2); t1.start(); t2.start(); }}
转载请注明原文地址: https://ibbs.8miu.com/read-1450051.html