一個ScheduledThreadPoolExecutor建設者的讓我到的ThreadFactory傳遞給它。傳遞一個的ThreadFactory到的ScheduledThreadPoolExecutor
這有點奇怪,因爲我已經在處理線程池了!這意味着它知道如何管理線程生存期。
從我的角度來看,這看起來像是策略模式,讓我重寫線程創建的邏輯,同時保持它提供調度服務。
- 我得到它的權利?
- Java中的ThreadFactories內置了什麼?
謝謝!
一個ScheduledThreadPoolExecutor建設者的讓我到的ThreadFactory傳遞給它。傳遞一個的ThreadFactory到的ScheduledThreadPoolExecutor
這有點奇怪,因爲我已經在處理線程池了!這意味着它知道如何管理線程生存期。
從我的角度來看,這看起來像是策略模式,讓我重寫線程創建的邏輯,同時保持它提供調度服務。
謝謝!
ThreadFactory
通常用作工廠模式細節您創建線程的方式。
一個典型的用例是從邏輯上命名你的線程。
public WorkerThreadFactory implements ThreadFactory {
private int counter = 0;
public Thread newThread(Runnable r) {
return new Thread(r, "Worker" + "-" + count++);
}
}
This是用例相當詳盡的清單。
內置實施的ThreadFactory將是Executors.defaultThreadFactory()
These都在那裏習慣的地方。
謝謝,這有所幫助。 – Vitaliy 2012-08-06 06:22:50
使用自定義線程工廠總是一個好習慣。默認的工廠沒有多大用處。您應該使用自定義的工廠,原因如下:
檢查這個職位:http://wilddiary.com/understanding-java-threadfactory-creating-custom-thread-factories/
你可以使用它,給線程有意義的名字,使線程daem ons,改變線程的優先級,改變默認的類加載器,使用你自己的Thread子類 – 2012-08-06 07:42:18