2012-08-06 16 views
1

一個ScheduledThreadPoolExecutor建設者的讓我到的ThreadFactory傳遞給它。傳遞一個的ThreadFactory到的ScheduledThreadPoolExecutor

這有點奇怪,因爲我已經在處理線程池了!這意味着它知道如何管理線程生存期。

從我的角度來看,這看起來像是策略模式,讓我重寫線程創建的邏輯,同時保持它提供調度服務。

  1. 我得到它的權利?
  2. Java中的ThreadFactories內置了什麼?

謝謝!

+0

你可以使用它,給線程有意義的名字,使線程daem ons,改變線程的優先級,改變默認的類加載器,使用你自己的Thread子類 – 2012-08-06 07:42:18

回答

3

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都在那裏習慣的地方。

+0

謝謝,這有所幫助。 – Vitaliy 2012-08-06 06:22:50

相關問題