(一)java.util.concurrent - Java 并发工具包 ---使用ThreadFactory来创建新的线程

本文介绍了Java.util.concurrent中的ThreadFactory接口,用于自定义线程创建,包括设置线程名称、是否为守护线程及优先级。通过示例展示了如何创建单线程线程池ExecutorService,并使用submit和execute方法执行任务。同时提供了测试代码和运行结果,强调了newSingleThreadExecutor确保任务按FIFO顺序执行。
摘要由CSDN通过智能技术生成

一,ThreadFactory作用:简单来说就是用来创建线程的,其中也只是有一个newthread方法 ,我们是在newthread方法中创建一个线程,并且传入要执行的Runnable

 

二, 在创建线程时的一些常用设置:

     ① Thread.setName() 给线程设置名字,方便后期查看线程调度分析性能使用

     ②Thread.setDaemon()守护线程--也称“服务线程”,在没有用户线程可服务时会自动离开。优先级:守护线程的优先级比较低,

        用于为系统中的其它对象和线程提供服务

     ③Thread.setPriority(priority) 设置线程优先级

 

三,示例

  • MyThreadFactory
     /***
         * 用来创建线程的,其中也只是有一个newthread方法,implements ThreadFactory
         */
        public static class MyThreadFactory implements ThreadFactory {
    
    /*
        定义:守护线程--也称“服务线程”,在没有用户线程可服务时会自动离开。优先级:守护线程的优先级比较低,用于为系统中的其它对象和线程提供服务。
        设置:通过setDaemon(true)来设置线程为“守护线程”;将一个用户线程设置为守护线程的方式是在 线程对象创建 之前 用线程对象的setDaemon方法。
    
        example: 垃圾回收线程就是一个经典的守护线程,当我们的程序中不再有任何运行的Thread,程序就不会再产生垃圾,垃圾回收器也就无事可做,所以当垃圾回收线程是JVM上仅剩的线程时,垃圾回收线程会自动离开。它始终在低级别的状态中运行,用于实时监控和管理系统中的可回收资源。
    */
            //是否设置为守护线程
            private boolean isDaemon;
            //线程名字;
            private String name;
            //线程优先级
            private int priority;
    
            public MyThreadFactory(boolean isDaemon,String name, int priority){
                this.isDaemon = isDaemon;
                this.name =name;
                this.priority=priority;
            }
    
    
            /***
             * 创建线程实例;
             * @param
             * @return
             */
            @Override
            public Thread newThread(Runnable runnable) {
                Thread thread = new Thread(runnable);
                thread.setPriority(prior
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值