java面试题----用java代码写死锁(线程join写法)
2017-08-12 14:15
323 查看
java面试题----用java代码写死锁
线程join写法public class Test2 { //join写线程死锁 //join 等待该线程终止,即把对象所在当前的线程停止 public static void main(String[] args) { // TODO Auto-generated method stub //创建线程myth1并赋相应的值 MyThread myth1=new MyThread(); myth1.paraC='5'; myth1.star='0'; myth1.random=10; //创建线程myth2并赋相应的值 MyThread myth2=new MyThread(); myth2.paraC='f'; myth2.star='a'; myth2.random=26; //myth2的线程引用指向线程myth1,myth1的线程引用指向线程myth2 //为死锁创建条件 myth1.t=myth2; myth2.t=myth1; myth1.start(); myth2.start(); } } //MyThread类继承Thread并实现run方法 class MyThread extends Thread{ char paraC,star; int random; Thread t; public void run(){ for (int i = 0; i < 200; i++) { char c=(char)((int)(Math.random()*random)+star); System.out.println(c); if(c==paraC){ try { //这里注意不要用this,this并不代表本线程,代表虚拟机 //start方法为使该线程开始执行;Java 虚拟机调用该线程的 run 方法 t.join(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } }
相关文章推荐
- [改善Java代码]预防线程死锁
- Java编程之多线程死锁与线程间通信简单实现代码
- Java线程面试题(02) Java线程中如何避免死锁
- java线程死锁代码示例
- JDK中ThreadDump诊断Java代码中的线程死锁问题
- 黑马程序员——java第十一、十二天:多线程(创建线程1-2、多线程同步代码、实现Runnable接口、安全死锁)
- Java线程中yield与join方法的区别代码解析
- java 线程死锁代码
- java代码--线程的死锁
- Java代码测试线程死锁 用jvisualvm监控
- java多线程-线程间通信_代码优化
- Java虚拟机性能管理神器 - VisualVM(9) 排查JAVA应用程序线程死锁
- java线程研究---(10)Thread同步:死锁
- Java线程面试题TOP50
- Java基础11:线程;synchronized;延迟加载(懒汉模式);死锁
- java线程的join基本用法
- 【Java并发编程】之三:线程挂起、恢复与终止的正确方法(含代码)
- 转:【Java并发编程】之九:死锁(含代码)
- Google面试题(java)—有四个线程1、2、3、4。线程1的功能就是输出1,线程2的功能就是输出2,以此类推.........现在有四个文件ABCD
- JAVA多线程-生产者与消费者当线程多时发生死锁的解决方法