020 ThreadFactoryBuilder

一.概述  

  在并发包之中出现了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对象来.

猜你喜欢

转载自www.cnblogs.com/trekxu/p/10332554.html