簡體   English   中英

如何在ThreadFactory中創建線程期間訪問Runnable?

[英]How to access Runnable during Thread creation inside ThreadFactory?

我有一個使用自定義ThreadFactory創建的ThreadPoolExecutor 當我通過Runnable調用execute()方法時,將使用自定義ThreadFactory創建一個新Thread 問題是我找不到在Runnable內部訪問信息的方法。

例如,我有一個實現Runnable Job類。 Job內部,我想在自定義ThreadFactorynewThread()方法中訪問屬性A 問題是我無法將作為參數傳遞的RunnableJob因為它不是Job實例,它是ThreadPoolExecutor.Worker類的實例,並且該類是private

您要么濫用,要么誤解了線程池的作用。 創建線程和提交/運行任務的過程完全分離。 線程池決定何時創建新線程,它可能根本與提交的任何新任務都不相關。

最后要記住,一個線程很可能在多個Runnable重用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM