这是显示如何使用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的资料与面试题,如果你在技术上面想提升自己的话,可以关注我,私信发送领取资料或者在评论区留下自己的联系方式,有时间记得帮我点下转发让跟多的人看到哦。

关键词: