2014-11-04 76 views
0

我創建了一個名爲X的主類和兩個Y和Z類。 Y和Z實現Runnable類。類X包含一個靜態數組A,可以在Y和Z中訪問。類Y的run()方法讀取輸入文件並填充向量A. Z類的run()方法使用存儲在向量A中的數據來處理一些數據。對java線程的簡單懷疑

在此問題使用線程的目的是:爲向量A填充在類Y的run()方法,類Z的run()方法將在矢量A.處理所接收的值

要做到這一點我沒有在X類的主要方法如下電話:

public static void main(String[] args) { 

Y objectY = new Y();   
Thread threadInput = new Thread(objectY); 

threadInput.start(); 

Z objectZ = new Z();   
Thread threadOut = new Thread(objectZ); 

threadOut.start(); 

是正確的嗎?我得到了預期的結果,但不知道代碼是否實際上是並行化的。如果它不是並行的,我該怎麼做?

回答

1

是的,您的代碼確實啓動了與主線程並行運行的兩個獨立線程。我無法驗證靜態數組處理的正確性,但沒有看到該代碼,但我可以確認這確實是並行化的。