2016-11-09 56 views
0

我創建了一個可運行的類A,它爲我執行一些任務。我使用ExecutorService提交這個類,以便我可以並行執行這些任務。在java中調用AsynFuture的線程共享對象

可運行類A調用另一個發送AsyncFuture請求(future.get()one)的對象B.

我將可運行類A的單獨對象提交給ExecutorService,但是,類B的對象正在由bean(單例)引用。這會導致線程執行中的問題嗎?

我注意到A類的某些對象沒有被任何線程執行。

我讀了一些關於使用ThreadLocal的內容,但我不確定它是否適用於此。

+0

通常,對單例的方法調用是線程安全的,除非對象B單例的某個屬性在B上的方法被調用時正在更新。你能發佈B類代碼嗎? – Zeus

+0

你能展示一些代碼嗎? – pbajpai21

回答

1

引用來自不同對象的單例bean,儘管跨單獨的線程確實會造成瓶頸。爲我工作的唯一解決方案是在A的初始化中查找這個bean。