java 实现死锁
Posted 六道对穿肠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 实现死锁相关的知识,希望对你有一定的参考价值。
资源抢占 导致死锁
public static void main(String[] args)
final Object a = new Object();
final Object b = new Object();
Thread threadA = new Thread(new Runnable()
public void run()
synchronized (a)
try
System.out.println("now i in threadA-locka");
Thread.sleep(1000l);
synchronized (b)
System.out.println("now i in threadA-lockb");
catch (Exception e)
// ignore
);
Thread threadB = new Thread(new Runnable()
public void run()
synchronized (b)
try
System.out.println("now i in threadB-lockb");
Thread.sleep(1000l);
synchronized (a)
System.out.println("now i in threadB-locka");
catch (Exception e)
// ignore
);
threadA.start();
threadB.start();
第二种写法 思路都一样
public static void miin(String[] args)
final Object lockA = new Object();
final Object lockB = new Object();
Thread threadA = new Thread(new Runable
public void run()
synchnaized(lockA)
Sleep(1000);
synchnaized(LockB)
);
Thread threadB = new Thread(new Runable
public void run()
synchnaized(lockB)
Sleep(1000);
synchnaized(LockA)
);
threadA.start();
threadB.start();
以上是关于java 实现死锁的主要内容,如果未能解决你的问题,请参考以下文章