JAVA多线程死锁分析

来源:互联网 发布:数据充值 编辑:程序博客网 时间:2024/05/15 05:13

package cn.itcast.thread;

/*

java中同步机制解决了线程安全问题,但是也同时引发死锁现象。

死锁现象:

死锁现象出现 的根本原因:

1. 存在两个或者两个以上的线程。 2. 存在两个或者两个以上的共享资源。

死锁现象的解决方案: 没有方案。只能尽量避免发生而已。

*/

class DeadLock extends Thread{

public DeadLock(String name){ } public void run() { super(name);

synchronized ("遥控器") { System.out.println("张三拿到了遥控器,准备 去拿电池!!"); synchronized ("电池") { System.out.println("张三拿到了遥控器与电池了,开着空调爽歪歪的吹着...");

} } }else if("狗娃".equals(Thread.currentThread().getName())){ synchronized ("电池") { System.out.println("狗娃拿到了电池,准备去拿遥控器!!"); synchronized ("遥控器") { System.out.println("狗娃拿到了遥控器与电池了,开着空调爽歪歪的吹着...");

} } } } }


public class Demo2 {

} public static void main(String[] args) { } DeadLock thread1 = new DeadLock("张三"); DeadLock thread2 = new DeadLock("狗娃"); //开启线程 thread1.start(); thread2.start();

对于学习有困难不知道如何提升自己可以加扣:578024144进行交流得到帮助,获取学习资料




0 0
原创粉丝点击