一.概述
在並發包之中出現了ThreadFactory接口,如下:
public interface ThreadFactory { Thread newThread(Runnable r); }
從上面基本的定義中可以看出,就是將一個線程的執行單元包裝成為一個線程對象,我們一般會指定這個線程的一些屬性,
比如線程的名稱,線程的優先級,線程是否是守護線程等線程.
常見的,我們創建一個線程工廠都是實現這個接口,創建一個類,通過這個方式創建出一個線程的工廠.
在guava之中,為了我們方便的創建出一個ThreadFactory對象,我們可以使用ThreadFactoryBuilder對象自行創建一個線程.
具體的定義如下:
public final class ThreadFactoryBuilder
這個類是一個標准的builder模式的實現,
我們就能夠通過這個類來創建出自定義的ThreadFactory對象來.
二 .基本的演示
public class ThreadFactoryBuilderTest { public static void main(String[] args) { ThreadFactory threadFactory = new ThreadFactoryBuilder().setNameFormat("線程名稱-%s").build(); // 創建一個線程對象 Thread newThread = threadFactory.newThread(()->{ }); System.out.println(newThread.getName()); } }
很方便的,我們就創建出了一個ThreadFactory對象來.