博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
死锁现象
阅读量:4544 次
发布时间:2019-06-08

本文共 1165 字,大约阅读时间需要 3 分钟。

/*java中同步机制解决了线程安全问题,但是也同时引发死锁现象。死锁现象:死锁现象出现 的根本原因:    1. 存在两个或者两个以上的线程。    2. 存在两个或者两个以上的共享资源。    死锁现象的解决方案: 没有方案。只能尽量避免发生而已。 */class DeadLock extends Thread{        public DeadLock(String name){        super(name);    }            public void run() {        if("张三".equals(Thread.currentThread().getName())){            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();                    }    }

 

转载于:https://www.cnblogs.com/xufengyuan/p/6361533.html

你可能感兴趣的文章
顺序表应用8:最大子段和之动态规划法(SDUT 3665)
查看>>
Python内置函数(52)——range
查看>>
正则表达式
查看>>
c# 执行 sql service 的存储过程
查看>>
《软件构架实践》读后感03
查看>>
jQuery入门(4)jQuery中的Ajax应用
查看>>
Java 发送http GET/POST请求
查看>>
索引之详解一
查看>>
Android Jetpack组件
查看>>
使用.NET Core 2.1的Azure WebJobs
查看>>
JS生成GUID
查看>>
异步测试
查看>>
Educational Codeforces Round 53 (Rated for Div. 2) C. Vasya and Robot 【二分 + 尺取】
查看>>
Bootstrap进度条
查看>>
[BZOJ1096][ZJOI2007]仓库建设(斜率优化DP)
查看>>
Vue 2.0 生命周期-钩子函数理解
查看>>
Spoj NSUBSTR - Substrings
查看>>
CodeForces - 1009E Intercity Travelling
查看>>
【JMeter】JMeter在linux下运行
查看>>
Mac显示器不亮
查看>>