死锁------模拟两个员工去干活---用两个线程去是实现

橙三吉。 提交于 2020-01-06 22:06:31

在这里插入图片描述
代码:
package cn.tedu.thread;
public class DeadLockDemo {
private static Print p=new Print();
private static Scann s=new Scann();
public static void main(String[] args) {
//模拟两个员工去干活—用两个线程去是实现
Thread t1=new Thread(new Runnable() {
@Override
public void run() {
//先打印在扫描
synchronized §{//锁住打印对象
p.print();
//休眠
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
//扫描—锁住
synchronized (s){
s.scan();
}
}
}
});
Thread t2=new Thread(new Runnable() {
@Override
public void run() {
//先扫描在打印
synchronized (s){
s.scan();
//休眠
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
//
synchronized §{
p.print();
}
}
}
});
//开启线程,员工开始工作
t1.start();
t2.start();
}
}
class Print{
public void print(){
System.out.println(“呼哧呼哧的打印…”);
}
}
class Scann{
public void scan(){
System.out.println(“赤赤的扫描…”);
}
}
输出:
呼哧呼哧的打印…
赤赤的扫描…

代码图:
在这里插入图片描述在这里插入图片描述输出:
在这里插入图片描述

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!