この式D =(a-b)+(c-d)を並列に計算して結合関数を説明する必要があります。 私は方程式D =(a-b)+(c-d)を仮定する。どのようにして(a-b)を計算するために3つのスレッドを使用し、(c-d)を計算するために3つのスレッドを使用し、結果を表示するためにメインスレッドを使用して、私はメインがその2つのスレッドが死んでしまう前に結果を表示していないことを示す必要があります。私は、彼らが麻痺している2つのスレッド作成していマルチスレッド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です。ここで
- t2は、総合計を計算)(メインここで(CD)
を計算している(AB)を計算t1の:
このコードはあなたを助けることがあります。
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. マルチスレッド(openMP) - 並列スレッドの数
- 2. Gensim word2vec/doc2vecマルチスレッド並列クエリ
- 3. forループの各項目のマルチスレッド/並列化JAVA
- 4. C#4.0の推奨マルチスレッド/並列コンピューティングブック
- 5. マルチスレッド、並行バブルソート
- 6. 並行マルチスレッド
- 7. 配列(分割)のJavaマルチスレッド
- 8. ネイティブなnumpyの並列化 - 乗算と和/平均
- 9. Javaマルチスレッドとオブジェクト
- 10. 並列コードVsマルチスレッド(シングルCPU上)
- 11. Javaのスレッドとマルチスレッド
- 12. iOS上の配列のスウィートメタル並列和計算
- 13. Java並列シリアライズと圧縮
- 14. Java Swingマルチスレッドとフリーズフリー
- 15. メジャー対角行列の和JAVA
- 16. Javaの:マルチスレッドと2Dのスレッド
- 17. Java並列アップロード
- 18. Javaの並列ストリーム
- 19. Javaの並列性
- 20. 並列のJavaプロセスアレイ
- 21. マルチスレッドとJava Swingの問題
- 22. 平方和行列の和
- 23. Javaマルチスレッド
- 24. Java:マルチスレッド
- 25. javaマルチスレッド
- 26. マルチスレッドjava
- 27. Javaマルチスレッド
- 28. Java 8並列ストリームを使用する場合、Java EE Request Scopeを緩和するのは正常ですか?
- 29. Java 8の並列ストリームとThreadLocal
- 30. Java並列ネットワークリクエストとリストの更新
サブクラスの3つのオブジェクトを作成してrun()メソッドを呼び出すと、@BetterEnglishが動作する可能性があります。 –