1. 程式人生 > >多線程——死鎖

多線程——死鎖

int ++ span auth package text color println pac

多線程死鎖的簡單使用:

public class MyLock{
    public static final Object locka=new Object();
    public static final Object lockb=new Object();
    public static final Object lockc=new Object();
    public static final Object lockd=new Object();
}
package day_12_01_Thread;

/**
 * 死鎖的情況
 * 
 * @author Administrator
 *
 
*/ public class TestSynchronized implements Runnable { public static void main(String[] args) { TestSynchronized s = new TestSynchronized(); Thread t1 = new Thread(s); Thread t2 = new Thread(s); t1.start(); t2.start(); } @Override public void run() {
int i = 0; while (true) { if (i % 2 == 0) { synchronized (MyLock.locka) { System.out.println("if.......locka"); synchronized (MyLock.lockb) { System.out.println("if ...........lockb"); } } }
else { synchronized (MyLock.lockb) { System.out.println("else..........lockb"); synchronized (MyLock.locka) { System.out.println("else..........locka"); } } } i++; } } }

多線程——死鎖