死锁演示

xiaoxiao2021-02-28  159

package com.demo; /* * 死锁演示 */ public class DeadLockDemo { public static void main(String[] args) { Test a = new Test(true); Test b = new Test(false); Thread t1 = new Thread(a); Thread t2 = new Thread(b); t1.start(); t2.start(); } } class Test implements Runnable { private boolean flag; public Test(boolean flag) { this.flag = flag; } public void run() { if (flag) { synchronized (MyLock.locka) { System.out.println(Thread.currentThread().getName() + ":if -----locka----"); synchronized (MyLock.lockb) { System.out.println(Thread.currentThread().getName() + ":if -----lockb----"); } } } else { synchronized (MyLock.lockb) { System.out.println(Thread.currentThread().getName() + ":else -----lockb----"); synchronized (MyLock.locka) { System.out.println(Thread.currentThread().getName() + ":else -----locka----"); } } } } } class MyLock { public static final Object locka = new Object(); public static final Object lockb = new Object(); }
转载请注明原文地址: https://www.6miu.com/read-22925.html

最新回复(0)