netty NioEventLoopGroup 线程名称设置
来源:互联网 发布:淘宝免费流量来源 编辑:程序博客网 时间:2024/05/16 14:22
在初始化workergroup的时候
如果不指定ThreadFactory,那么将使用netty默认的ThreadFactory DefaultThreadFactory
比如在日志输出的可以看出线程名称是
2017 一月 11 16:34:40.420 [nioEventLoopGroup-3-1] INFO c.z.e.netty.handler.DownloadHandler - nioEventLoopGroup-3-1
nioEventLoopGroup-3-1
prefix = poolName + '-' + poolId.incrementAndGet() + '-';
Thread t = newThread(new DefaultRunnableDecorator(r), prefix + nextId.incrementAndGet());
由3部分组成
poolname 例如 nioEventLoopGroup
然后-poolid
然后是-线程id
可以自定义自己的ThreadFactory
package com.zheyue.encrypt.concurrency;import org.apache.commons.lang3.StringUtils;import java.util.concurrent.ThreadFactory;import java.util.concurrent.atomic.AtomicInteger;/** * @author FD * @date 2017/1/11 */public class NamedThreadFactory implements ThreadFactory { private static final AtomicInteger threadNumber = new AtomicInteger(1); private final AtomicInteger mThreadNum = new AtomicInteger(1); private final String prefix; private final boolean daemonThread; private final ThreadGroup threadGroup; public NamedThreadFactory() { this("fileServer-threadPool-" + threadNumber.getAndIncrement(), false); } public NamedThreadFactory(String prefix) { this(prefix, false); } public NamedThreadFactory(String prefix, boolean daemon) { this.prefix = StringUtils.isNotEmpty(prefix) ? prefix + "-thread-" : ""; daemonThread = daemon; SecurityManager s = System.getSecurityManager(); threadGroup = (s == null) ? Thread.currentThread().getThreadGroup() : s.getThreadGroup(); } public Thread newThread(Runnable runnable) { String name = prefix + mThreadNum.getAndIncrement();// Thread ret = new Thread(threadGroup, runnable, name, 0); Thread ret = new Thread(threadGroup, runnable, name); ret.setDaemon(daemonThread); return ret; } public ThreadGroup getThreadGroup() { return threadGroup; }}
另外java 使用executors.newXXX 方法创建的线程池 也会使用java默认的线程工厂 比如pool-2-thread-1
spring框架也会使用executors.newXXX创建线程池,所以上面是2
0 0
- netty NioEventLoopGroup 线程名称设置
- Netty之Reactor线程1 -- NioEventLoopGroup(Reactor线程)
- netty实战之百万级流量NioEventLoopGroup线程数配置
- netty源码分析之-NioEventLoopGroup与线程设定(1)
- netty 启动分析 NioEventLoopGroup
- Netty源码分析:NioEventLoopGroup
- Netty笔记一: NioEventLoopGroup介绍
- Netty学习之旅------再谈线程模型之源码分析NioEventLoopGroup、SingleThreadEventExecutor
- 设置线程名称函数
- 设置线程名称 - SetThreadName
- NioEventLoopGroup
- 如何设置线程的名称
- Netty源码学习——EventLoopGroup原理:NioEventLoopGroup分析
- Netty源码分析系列1——NIOEventLoopGroup的创建
- 【Netty4.X】Netty源码分析之NioEventLoopGroup(五)
- 线程名称的获取与设置
- windows多线程,debug时设置线程名称
- windows多线程,debug时设置线程名称
- Mysql 手册
- 编程类开放书籍荟萃
- 实时查看linux下tomcat运行日志
- 给Git Pages添加一个子页面的域名解析相关
- 分布式Session研究(一):Docker + spring boot +Nginx构建分布式应用
- netty NioEventLoopGroup 线程名称设置
- c语言-----数组
- 儿子叫我开网店
- 从Unable to recognize OLE stream引发的故事
- Linux基本命令00
- matlab calibration toolbox-Matlab标定工具箱使用(单目标定和双目标定)
- (3)riak_core系统的工作方式
- 高并发下重复提交问题的处理
- 深入理解java 版本兼容问题