ThreadFactory
来源:互联网 发布:2017科普知识网络竞赛 编辑:程序博客网 时间:2024/05/22 04:59
class SimpleThreadFactory implements ThreadFactory { public Thread newThread(Runnable r) { return new Thread(r); } }
Executors.defaultThreadFactory提供了一个更有用且简单的实现。
/** * The default thread factory */ static class DefaultThreadFactory implements ThreadFactory { static final AtomicInteger poolNumber = new AtomicInteger(1); final ThreadGroup group; final AtomicInteger threadNumber = new AtomicInteger(1); final String namePrefix; DefaultThreadFactory() { SecurityManager s = System.getSecurityManager(); group = (s != null)? s.getThreadGroup() : Thread.currentThread().getThreadGroup(); namePrefix = "pool-" + poolNumber.getAndIncrement() + "-thread-"; } public Thread newThread(Runnable r) { Thread t = new Thread(group, r, namePrefix + threadNumber.getAndIncrement(), 0); if (t.isDaemon()) t.setDaemon(false); if (t.getPriority() != Thread.NORM_PRIORITY) t.setPriority(Thread.NORM_PRIORITY); return t; } }
下面写一简单示例。
package com.test; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.ThreadFactory; class Task implements Runnable{ int taskId; public Task(int taskId) { this.taskId=taskId; } @Override public void run() { System.out.println(Thread.currentThread().getName()+"--taskId: "+taskId); } } class DaemonThreadFactory implements ThreadFactory { @Override public Thread newThread(Runnable r) { Thread t=new Thread(r); t.setDaemon(true); return t; } } public class ThreadFactoryTest { public static void main(String[] args) { ExecutorService exec=Executors.newFixedThreadPool(3,new DaemonThreadFactory()); for(int i=0;i<3;i++) { exec.submit(new Task(i)); } exec.shutdown(); } }
0 0
- ThreadFactory
- ThreadFactory
- ThreadFactory
- ThreadFactory的常见使用方法
- java.util.concurrent.ThreadFactory
- Java ThreadFactory接口用法
- JAVA ThreadPool & ThreadFactory
- 线程工厂 ThreadFactory
- 多线程之ThreadFactory
- 线程工程ThreadFactory
- Thread、ThreadGroup、ThreadFactory、ThreadPoolExecutor
- Java多线程系列-ThreadFactory
- 自定义ThreadFactory和ThreadGroup
- 线程工厂 ThreadFactory源码解读
- 线程工厂 ThreadFactory源码解读
- ThreadFactory, ExecutorService的简单使用
- Java并发编程-ThreadFactory接口
- 关于Java中的ThreadFactory类
- minAreaRect-OpenCV
- Java程序员的必备知识-类加载机制详解
- pyenv多版本管理
- Ural 2062
- 【Java】代码调用MySQL存储过程
- ThreadFactory
- Make的工作原理
- 锻炼结构化思维
- LocalStorage、SessionStorage使用详解
- MySQL数据库30条规范解读
- 微信支付服务商模式(受理机构模式)开发注意事项,jsapi支付
- js库
- 自定义ViewPager.PageTransformer实现幻灯片效果
- jquery 获取select的选择值的写法