这是显示如何使用join()的示例。面试问题:使用Java多线程计算表达式1 * 2 /(1 + 2)。
使用一个线程进行加法,使用一个线程进行乘法,并使用一个主线程进行除法。由于不需要在线程之间进行数据通信,因此只需要考虑线程执行的顺序即可。
在主线程中,让加法和乘法加入主线程。当我们希望父线程等待直到调用join()的线程结束时,使用join()方法。在这种情况下,我们要先完成加法和乘法运算,然后再进行除法运算。
classAddextendsThread {
intvalue;
publicvoidrun() {
value = 1 + 2;
}}
classMulextendsThread {
intvalue;
publicvoidrun() {
value = 1 * 2;
}}
publicclassMain{
publicstaticvoidmain(String[] args){
Add t1 =newAdd();
Mul t2 =newMul();
t1.start();
t2.start();
try{
t1.join();
t2.join();
}catch(InterruptedException e) {
e.printStackTrace();
}
doublen = ((double)t2.value/t1.value);
System.out.println(n);
}}
最后,开发这么多年我也总结了一套学习Java的资料与面试题,如果你在技术上面想提升自己的话,可以关注我,私信发送领取资料或者在评论区留下自己的联系方式,有时间记得帮我点下转发让跟多的人看到哦。
关键词: