0
有一個名爲Data
的類,它被稱爲我的其他類。 Data
類被許多線程訪問,我想在每個線程上存儲一些信息。具體而言,Data
有一個名爲name
(String)的實例,我想將此name
存儲到正在創建Data對象的線程中。存儲信息並從currentThread中取回
下線,我希望我能夠訪問name
通過獲得currentThread()
一些代碼中的其他地方。
我對Java很新,有可能嗎?
有一個名爲Data
的類,它被稱爲我的其他類。 Data
類被許多線程訪問,我想在每個線程上存儲一些信息。具體而言,Data
有一個名爲name
(String)的實例,我想將此name
存儲到正在創建Data對象的線程中。存儲信息並從currentThread中取回
下線,我希望我能夠訪問name
通過獲得currentThread()
一些代碼中的其他地方。
我對Java很新,有可能嗎?
如果我正確地閱讀你的問題,你的數據對象可能需要有http://docs.oracle.com/javase/7/docs/api/java/lang/ThreadLocal.html類型的成員字段。這些ThreadLocal成員字段將根據訪問它的線程而具有不同的值。
那麼你是否創建一個獨特的對象每個線程的數據,並有一個容器,或者你打算創建這個對象,然後運行線程,都訪問相同的對象?這聽起來像最初的方式 – Fallenreaper
如果你想讓每個線程都有自己的名字(String類型),那麼爲什麼不使用Thread構造函數Thread(String name)或Thread(Runnable,String)中的一個。 http://docs.oracle.com/javase/6/docs/api/java/lang/Thread.html#constructor_detail –
第一種方式,每個線程都有唯一的數據。 – batman