多线程(死锁示例)

关于多线程技术的一个死锁小例子,添加了输出语句方便查看。
class Test implements Runnable
{
    private boolean flag;
    Test(boolean flag)
    {
        this.flag=flag;
    }
    public void run()
    {
        if(flag)
        {
        while(true)
            synchronized (MyLock.locka)
            {
                System.out.println("if...locka");
                synchronized (MyLock.lockb)
                {
                    System.out.println("if...lockb");
                    
                }
            }
        }
            else
            {
                while(true)
                synchronized (MyLock.lockb)
                {
                    System.out.println("else...locka");
                    synchronized (MyLock.locka)
                    {
                        System.out.println("else...locka");
                    }
                }    
            }    
           
    }
}
原文地址:https://www.cnblogs.com/stonewu/p/3650557.html