ThreadFactory
来源:互联网 发布:wind数据库多少钱 编辑:程序博客网 时间:2024/05/24 06:26
(1)作用
我们通常要使用线程来执行任务,任务通过Runnable定义,然后new 一个Thread来进行执行。
假如我们要改变一个Thread的名称,那么我们可以在new Thread的时候设置名称
那么如果我们需要对多个线程 都改名,难道每次new都要定义吗?
实际上我们可以通过ThreadFactory来专门生成Thread,对于Thread的属性我们可以在其中进行统一定义
(2)实例
public class ThreadFactoryTest {@Testpublic void test() {MyThreadFactory factory = new MyThreadFactory();for (int i=0; i<3; i++) {factory.newThread(new MyTask()).start();}}}class MyTask implements Runnable{public void run() {System.out.println(Thread.currentThread().getName());}}class MyThreadFactory implements ThreadFactory{private AtomicInteger index = new AtomicInteger(0);public Thread newThread(Runnable r) {Thread thread = new Thread(r, "myThread"+index.getAndIncrement());return thread;}}
结果为:
myThread0myThread1myThread2
(3)说明
1.如果需要新的线程,我们直接通过newThread方法即可
2.这是单独使用,也可以配合线程池使用,这样线程池中的所有线程都是我们定义的
ExecutorService executor = Executors.newFixedThreadPool(3, new MyThreadFactory());for (int i = 0; i < 5; i++) {executor.submit(new MyTask());}
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类
- 安卓Http Post请求封装类
- HDFS配额指南(HDFS Quotas Guide)
- Shiro身份验证(三)
- 应试教育的死穴,恰在于堵死了孩子“犯错”的空间?
- 线索二叉树
- ThreadFactory
- 兼容性:java: cannot execute binary file
- 设置cell分割线顶格
- 史上最直白的pca教程 之 一
- 随便写点儿
- My SQL update Memory Cache
- Windows 已在 XXX.exe 中触发一个断点。 其原因可能是堆被损坏,这说明 FiberSecureTerminal.exe 中或它所加载的任何 DLL 中有
- 如何快速学会在github 上创建一个项目
- iOS NSNotification 通知传值