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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值