通过优锐课核心java学习笔记中,我们可以看到,码了很多专业的相关知识, 分享给大家参考学习。
这是显示如何使用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技术很感兴趣也可以交流学习,共同学习进步。
不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代
文章写道这里,欢迎完善交流。最后奉上近期整理出来的一套完整的java架构思维导图,分享给大家对照知识点参考学习。有更多JVM、Mysql、Tomcat、Spring Boot、Spring Cloud、Zookeeper、Kafka、RabbitMQ、RockerMQ、Redis、ELK、Git等Java干货