私は2D配列の最大要素を見つけようとしています。パラメータとして2darrayを受け取り、最大値を見つける方法があります。スレッドがparrallelを実行し、各スレッドを結合し、それらの最大値を見つけて2次元配列全体の最大値を得るように、各行の最大要素を別個のスレッドとして見つける必要があります。今私が持っている問題は、run()が値を返さないということです...どのように私は変更された値にアクセスする必要があります。たとえば、Javaでの並列スレッド
public static int maxof2darray(long[][] input){
ArrayList<Thread> threads = new ArrayList<Thread>();
long[]rowArray;
for(int i=0; i<input.length; i++){
rowArray = input[i];
teste r1 = new teste(rowArray,max);
threads.add(new Thread(r1));
}
for (Thread x : threads)
{
x.start();
}
try {
for (Thread x : threads)
{
x.join();
}
}
のように、スレッドオブジェクトのarraylistを作成します。次に、各行を取り、その行の最大値を見つけるrun()関数を呼び出します...問題は実行されます()は値を返しません...どうすればその行の最大値にアクセスできますか?
おそらく、先物または他のより高いレベルの抽象化を見たいと思いますか? –
残念ながら、私は他のAPIの使用の提案に感謝しながら、私はスレッドを使用してこれを行う必要がありますthread.join()=/ – Jake