我需要通过并行计算这个方程D =(a-b)+(c-d)来解释连接函数。 假设我有一个方程D =(a-b)+(c-d)。我怎么能并行使用三线程计算(a-b),一个计算(c-d)和主线程来显示结果。我需要证明主要是在这两个线程死亡之前不显示结果。用多线程java并行求和
0
A
回答
1
正如Javadoc所说,join()
等你只有给定的线程死掉 - 因此,它是一个语句,直到线程完成计算。使用您的公式:
// Choose a, b, c, and d.
int a = 0;
int b = 1;
int c = 2;
int d = 3;
// Set up an array for the intermediate results.
int[] results = new int[2];
// Create two threads writing the intermediate results.
Thread t0 = new Thread(() -> results[0] = a - b);
Thread t1 = new Thread(() -> results[1] = c - d);
// Start both threads.
t0.start();
t1.start();
// Let the main thread wait until both threads are dead.
try {
t0.join();
t1.join();
} catch (InterruptedException e) { /* NOP */ }
// Sum up the intermediate results and print it.
System.out.println(results[0] + results[1]);
使用一个简单的数组来检索线程的结果是有点腥(退房this question)。但是,这个例子就足够了。
1
我创建两个线程,他们都瘫痪了:
他们T1和T2;
- 这点t1计算(AB)
- T2的计算(CD)
这里主要()计算总和:
这段代码可以帮助你:
class SumThread extends Thread implements Runnable {
public SumThread(int a, int b) {
this.a = a;
this.b = b;
sum = 0;
}
public void run() {
sum=(a-b);
}
public int getSum() {
return sum;
}
private int a, b, sum;
}
public class Sum2 {
public static void main(String args[]) {
SumThread t1 = new SumThread(1, 2);
SumThread t2 = new SumThread(3, 4);
t1.start();
t2.start();
try {
t1.join();
t2.join();
} catch(InterruptedException e) {
System.out.println("Interrupted");
}
System.out.printf("The sum %d \n", t1.getSum()+t2.getSum());
}
}
相关问题
- 1. Java的多线程,让线程并行
- 2. Java并发和多线程
- 3. 并行执行java中的多线程
- 4. Java并行线程
- 5. 并行执行和终止多线程
- 6. Java多线程多请求方法
- 7. 并行线程和用C
- 8. HTTPS请求和多线程
- 9. java编程和java单线程多线程问题(单线程与多线程)
- 10. Java中的命令行(和多线程)
- 11. MultiProgramming,多线程和并行处理?
- 12. Java中的并行线程
- 13. java - 多个http请求同时在java中使用多线程
- 14. 并行线程和并发
- 15. VB.Net多线程调用需求并传递线程
- 16. 多线程(并行线程)竞争码
- 17. VB.net多线程循环,并行线程
- 18. Python多线程使用请求和BeautifulSoup
- 19. 多线程/并行处理
- 20. ScheduledExecutorService多个并行线程
- 21. java多线程和对象
- 22. Java打印和多线程
- 23. Java - 多线程和同步
- 24. Java多线程和文件
- 25. java多线程和mysql
- 26. 多线程并发水豚请求?
- 27. 从Java的多线程并行调用线程安全的DLL函数
- 28. SGE:用于多线程Java代码的并行环境
- 29. Java - 平衡ThreadPoolExecutor公平地给线程并行请求
- 30. Scala/Java中的Web请求中的并行化/线程?
创建子类的三个对象并调用run()方法可能有效@BetterEnglish –