文档章节

实现ThreadFactory,修改Thread的名称

手绘灿烂
 手绘灿烂
发布于 2016/02/14 10:48
字数 95
阅读 59
收藏 1
    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进行一些自定义的实现,比如线程的名称或是线程的优先级。

© 著作权归作者所有

共有 人打赏支持
手绘灿烂
粉丝 7
博文 53
码字总数 20728
作品 0
朝阳
程序员
私信 提问
ThreadFactory & ThreadGroup

原本想给 多线程任务 做一个挂起(暂停)功能,然后配合 httpcomponents-asyncclient 并发测试,结果意外令人汗颜,竟然CPU占用100%。。。 使用VisualVM观察CPU抽样,发现org.apache.http.i...

goto-array
2013/09/01
0
0
聊聊HystrixConcurrencyStrategy

序 本文主要研究一下HystrixConcurrencyStrategy HystrixConcurrencyStrategy hystrix-core-1.5.12-sources.jar!/com/netflix/hystrix/strategy/concurrency/HystrixConcurrencyStrategy.ja......

go4it
06/30
0
0
并发编程之Executor(三)

前言: concurrent包最顶层的阻塞队列我们已经有了认识,本篇介绍基于阻塞队列的执行器 1:Executor接口: public interface Executor{ void execute(Runnable command); } 顶层接口设计的好...

后厂村老司机
05/24
0
0
Drools 6.5.0 发布,Java 业务规则引擎

Drools 6.5.0.Final 发布了,Drools 是用 Java 语言编写的开放源码规则引擎,使用 Rete 算法对所编写的规则求值。Drools 允许使用声明方式表达业务逻辑。可以使用非 XML 的本地语言编写规则,...

王练
2016/10/28
5.7K
2
EXECUTORSERVICE线程池讲解

ExecutorService 建立多线程的步骤: 1。定义线程类 class Handler implements Runnable{ } 2。建立ExecutorService线程池 ExecutorService executorService = Executors.newCachedThreadPoo......

一枚Sir
2015/10/08
79
0

没有更多内容

加载失败,请刷新页面

加载更多

小白带你认识netty(三)之NioEventLoop的线程(或者reactor线程)启动(一)

在第一章中,我们看关于NioEventLoopGroup的初始化,我们知道了NioEventLoopGroup对象中有一组EventLoop数组,并且数组中的每个EventLoop对象都对应一个线程FastThreadLocalThread,那么这个...

天空小小
今天
3
0
PHP动态扩展Redis模块

查看已有模块 [root@test-a ~]# /usr/local/php/bin/php -m[PHP Modules]bz2Core...zlib[Zend Modules] 下载包,解压,生成configure文件 [root@test-a ~]# cd /usr/local/src/[ro......

野雪球
今天
4
0
在Ignite中使用线性回归算法

在本系列前面的文章中,简单介绍了一下Ignite的机器学习网格,下面会趁热打铁,结合一些示例,深入介绍Ignite支持的一些机器学习算法。 如果要找合适的数据集,会发现可用的有很多,但是对于...

李玉珏
今天
5
0
Mybatis应用学习——简单使用示例

1. 传统JDBC程序中存在的问题 1. 一个简单的JDBC程序示例: public class JDBCDemo {public static void main(String[] args) {Connection con=null;PreparedStatement statemen...

江左煤郎
今天
5
0
使用JavaScript编写iOS应用业务逻辑

JSAUIKitCocoa使你可以使用JavaScript编写对性能要求不高但可能变动性很大的iOS应用的业务逻辑部分,View组件、需要多线程支持的Model等则直接使用原生对象。 编写方式与React Native相似,但...

neal01
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部