2011-08-13 51 views
1

我是java新手。我的問題是什麼是類的線程包裝類。例如,我寫了一個類'someClass'。現在,如果我需要在多個線程中分解我的程序,那麼如何爲這個類編寫線程包裝類。 (我知道線程是什麼以及如何在多線程中運行並運行程序,但我並不理解線程包裝類的含義。) thankx什麼是java中的線程包裝類

+1

As @ 01es提到,閱讀Java Concurrency in Practice。現在直接使用Thread與使用ExecutorService,AtomicXYZ和java.util.concurrent中的其他實用程序並不安全。 –

回答

3

您的類需要擴展Runnable接口。那麼你會這樣開始:

Thread t = new Thread(yourClassInstanceHere); 
t.start(); 
+0

因此,當我聲明我的類爲類名實現Runnable時,它被包裹了? –

+0

否。線程的構造函數需要一個Runnable參數。當您將實例提供給線程構造函數時,它會被封裝。 – duffymo

6

有類Thread,它代表一個單線程。有一個接口Runnable,可以被Thread實例接受執行。

IMO的一個好建議是諮詢Java Concurrency in Practice一書 - Java併發的權威性指南。真的很有幫助。