多线程 死锁的模拟
Posted 健康平安的活着
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程 死锁的模拟相关的知识,希望对你有一定的参考价值。
一 代码实操
1.1 资源
public class ObjectTools public static Object folk=new Object(); public static Object chlk=new Object();
1.2 子线程
public class ThreadA implements Runnable
@Override
public void run()
synchronized (ObjectTools.chlk)
System.out.println("线程:"+Thread.currentThread().getName()+" 获取筷子了!");
try
Thread.sleep(2000);
catch (InterruptedException e)
e.printStackTrace();
synchronized (ObjectTools.folk)
System.out.println("线程:"+Thread.currentThread().getName()+" 获取叉子了!");
线程2:
public class ThreadB implements Runnable
@Override
public void run()
synchronized (ObjectTools.folk)
System.out.println("线程:"+Thread.currentThread().getName()+" 获取叉子了!");
try
Thread.sleep(2000);
catch (InterruptedException e)
e.printStackTrace();
synchronized (ObjectTools.chlk)
System.out.println("线程:"+Thread.currentThread().getName()+" 获取筷子了!");
1.3 调用类
public class TestDl public static void main(String[] args) new Thread(new ThreadA()).start(); new Thread(new ThreadB()).start();
1.4 结果
以上是关于多线程 死锁的模拟的主要内容,如果未能解决你的问题,请参考以下文章