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