JUC——ThreadFactory线程工厂类(四)
2018-06-18 01:49:50来源:未知 阅读 ()
ThreadFactory线程工厂类
在默认情况下如果要想创建一个线程类对象,大部分情况的选择是:直接通过子类为父类进行实例化,利用Runnable子类为Runnable接口实例化。
或者直接调用Lambda表达式来进行处理,不过在多线程运行机制里面考虑到线程对象创建的合理性,juc专门提供了一个ThreadFactory工程程序类。
ThreadFactory定义
package java.util.concurrent; public interface ThreadFactory{ Thread newThread(Runnable r); }
可以看出ThreadFactory只是取得Runnable启动的线程对象做了一个定义而已。
范例:使用ThreadFactory工厂程序类
package so.strong.concurrents; import java.util.concurrent.ThreadFactory; public class StrongDemo { public static void main(String[] args) throws Exception { Thread t = new SimpleThreadFactory().newThread(() -> { for (int x = 0; x < 10; x++) { System.out.println(Thread.currentThread().getName() + "、x = " + x); } }); t.start(); } } class SimpleThreadFactory implements ThreadFactory { private static int count = 0; //进行一个计数的操作 public Thread newThread(Runnable r) { return new Thread(r, "线程 - " + count++); } }
实际上对于接口对象我们一直在说:必须通过工厂类来取得实例化对象,所以对于ThreadFactory的设计看起来虽然多余,但是也符合标准化的设计。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 最详细的java多线程教程来了 2020-06-08
- 系统化学习多线程(一) 2020-06-08
- 多线程:生产者消费者(管程法、信号灯法) 2020-06-01
- 如何合理地估算线程池大小? 2020-05-31
- 那些面试官必问的JAVA多线程和并发面试题及回答 2020-05-28
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash