实现ThreadFactory,修改Thread的名称

    static class SelfDefinedThreadFactory implements ThreadFactory {
        final AtomicInteger threadNumber = new AtomicInteger(1);
        final String namePrefix;

        SelfDefinedThreadFactory(String namePrefix) {
            this.namePrefix = namePrefix+"-";
        }

        public Thread newThread(Runnable r) {
            Thread t = new Thread( r,namePrefix + threadNumber.getAndIncrement());
            if (t.isDaemon())
                t.setDaemon(true);
            if (t.getPriority() != Thread.NORM_PRIORITY)
                t.setPriority(Thread.NORM_PRIORITY);
            return t;
        }
    }


默认的ThreadFactory是DefaultThreadFactory, 咱们能够从新实现ThreadFactory接口,对Thread进行一些自定义的实现,好比线程的名称或是线程的优先级。java

相关文章
相关标签/搜索