面试问题–使用Java线程进行数学计算

通过优锐课核心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干货

面试问题–使用Java线程进行数学计算

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章