写一个生活中常见的死锁
来源:互联网 发布:新浪微博数据采集 编辑:程序博客网 时间:2024/06/06 06:50
package me.jea.array;/** * 我想到了一个有趣的问题,就是死锁。 * 假设一对夫妻回家吃饭,锁在老公身上。 * 老公因为喝醉了,在路边睡着了,于是老婆拿了他的锁进了门做饭。 * 饭做好了,结果打电话给老公,让老公进门。 * 但是老公没有锁啊,进不去,结果夫妻不能一同吃饭了。 * * A线程调用wait()方法,释放同步锁,并且进入阻塞状态。 * B线程获取同步锁,唤醒A线程,并且要求A线程执行完毕,自己才会继续执行。 * 矛盾的是,B线程希望A线程先执行完自己再执行,但是B线程自己却不释放同步锁,这样就造成了死锁。 * @author jea * */public class DeadLock {public static void main(String[] args) {// 两个线程,一把锁,A线程睡了释放了锁,B线程获取了锁却必须等A线程执行完毕才执行。final Object obj = new Object();final Thread t1 = new Thread() {public void run() {synchronized (obj) {try {obj.wait();} catch (InterruptedException e) {System.out.println(e.getMessage());}}}};final Thread t2 = new Thread() {public void run() {synchronized (obj) {// 内部类访问局部变量,需要用final修饰局部变量。因为内部类的生命周期有可能超过局部变量的生命周期obj.notify();try {t1.join();} catch (InterruptedException e) {System.out.println(e.getMessage());}}}};t1.start();t2.start();}}
阅读全文
0 0
- 写一个生活中常见的死锁
- 在编写windows程序时,只有一个临界区还出现死锁的常见原因。
- java中如何写一个死锁例子
- 生活中常见的操作系统
- 一个常见的ORA-00060死锁现象
- java写的一个死锁例子
- java写一个死锁的简单例子
- java-写一个死锁的案例
- Java写一个简单的死锁程序
- 如何写一个死锁的java程序
- 写一个java死锁的demo
- 写一个死锁线程
- java写一个死锁
- 写一个死锁程序
- 自己写一个死锁
- 写一个死锁例子,及解决死锁
- java自己动手写一个死锁
- 面试写一个进程死锁
- Struts2 ---- 案例 Demo
- 阿里巴巴诉多家自媒体造谣,分别索赔100万;腾讯恢复投资韩国内容公司;阿联酋任命“人工智能国家部长丨价值早报
- PsSetCreateProcessNotifyRoutine妙用
- Stuts2入门案例
- 请定义一个交通工具(Vehicle)的类,其中有: 属性:速度(speed),体积(size)等 方法:移动(move()),设置速度(setSpeed(int speed)),设置体积(s
- 写一个生活中常见的死锁
- 为什么使用maven
- 基于数组的队列实现
- Struts2初步案例
- codeforces 867 E Buy Low Sell High(优先队列)
- DL multi GPUs problem
- 含有不同正整数的数组是否可以分成两个和相等的数组JS算法实现
- 错失VIPKID,俞敏洪组团来教育领域“淘宝”
- 在一线城市,有多少人正在“被创业”?