黑马程序员—可以产生死锁的代码
来源:互联网 发布:男朋友尺寸大体验知乎 编辑:程序博客网 时间:2024/05/01 09:34
------- android培训、java培训、期待与您交流! ----------
面试的时候,可能会有个考题:请给我写一个死锁程序。
考的是你对死锁的理解!
代码:
class Test implements Runnable{private boolean flag;Test(boolean flag){this.flag = flag;}public void run(){if(flag){synchronized(MyLock.locka){System.out.println("if locka");synchronized (MyLock.lockb) {System.out.println("if lockb");}}}else{synchronized(MyLock.lockb){System.out.println("else lockb");synchronized (MyLock.locka) {System.out.println("else locka");}}}}}class MyLock{static Object locka = new Object();static Object lockb = new Object();}public class DeadLockTest {public static void main(String[] args) {Thread t1 = new Thread(new Test(true));Thread t2 = new Thread(new Test(false));t1.start();t2.start();}}
说明:
以上程序运行后,有可能会产生死锁现象,也有可能不会产生死锁现象,看情况而论!
0 0
- 黑马程序员—可以产生死锁的代码
- 黑马程序员——死锁
- 产生死锁代码 - Java
- 黑马程序员:Java基础——多线程的死锁问题
- 黑马程序员 多线程死锁的问题.
- 黑马程序员_我的死锁练习
- 黑马程序员----关于死锁的问题
- 如何编写可以检查死锁的代码?
- 黑马程序员———死锁
- 黑马程序员——多线程5:死锁
- 黑马程序员-多线程死锁
- 黑马程序员-死锁
- 产生死锁的必要条件
- 关于死锁的产生
- 产生死锁的原因
- 死锁产生的原因
- 产生死锁的条件
- synchronized产生的死锁
- Spring框架的优点
- 投资群体测试
- JavaScript学习二 常用组件整理
- ERP模块简称
- zookeeper学习记录
- 黑马程序员—可以产生死锁的代码
- Android TextView滚动与回滚
- 呼叫(主叫)信令流程
- Hadoop集群(第1期)_CentOS安装配置
- iOS UILabel详解
- 单例模式
- prototype.js get请求缓存问题
- MyBatis(3.2.3) + Spring(3.2.3) 简单示例
- 服务类service 的AndroidManifest.xml详解