-1
這是爲了完成大學作業。我只是想要一些輸入,如果這是正確的軌道或不。該分配要求使用多個線程來添加數組內容。我扣除的是準確的,但我仍然不確定。任何建議或意見都會很棒。 :)多線程數組內容?
我不知道這是否在正確的軌道上,所以我希望有一些專業的批評。
import java.util.*;
public class threadtest1 extends Thread
{
int sum, sum2;
int N = 5;
int [] array = {1,3,2,4,5,6,7,8,9,10};
int [] temp = new int [N];
public static void main (String[] args)
{
threadtest1 run = new threadtest1();
run.go();
}
public void go()
{
threadtest1 t1 = new threadtest1();
threadtest1 t2 = new threadtest1();
threadtest1 t_Total = new threadtest1();
//To seperate and calculate the array by thread:
/**** FOR THREAD 1 ****/
t1.start();
temp = Arrays.copyOfRange(array, 1,5);
System.out.println("Temp : " + temp.length);
for (int j = 0; j < temp.length; j++)
{
//sum = temp.get(i);
sum += sum + j;
System.out.println("T1 : " + sum);
}
/**** FOR THREAD 2 ****/
t2.start();
temp = Arrays.copyOfRange(array, 6, 10);
for (int k = 0; k < temp.length; k++)
{
//sum = temp.get(i);
sum2 += sum2 + k;
System.out.println("T2 : " + sum2);
}
/**** FOR THREAD_TOTAL ****/
t_Total.start();
sum = sum + sum2;
System.out.println("T_Total: " + sum);
}
}
你在做什麼沒有意義。重寫運行方法並在那裏寫出線程特定的代碼。現在所有的代碼只在主線程中運行。 –
變量的任何多線程相關修改應該被synchronized關鍵字包圍。甚至有類比數組確保線程安全。看看併發和可運行的命名空間。 – icbytes
也請按照命名約定'公共類ThreadTest1擴展線程' –