当前位置: 首页 > news >正文

网站开发软件学习全球ip代理

网站开发软件学习,全球ip代理,wordpress设置路径,网站建设jiqThreadFactory 是 Java 中一个用于创建线程的接口,它可以自定义线程的创建过程,例如线程的名称、优先级、是否为守护线程等。它是 java.util.concurrent 包的一部分,通常与线程池(ThreadPoolExecutor)一起使用。 线程…

ThreadFactory 是 Java 中一个用于创建线程的接口,它可以自定义线程的创建过程,例如线程的名称、优先级、是否为守护线程等。它是 java.util.concurrent 包的一部分,通常与线程池(ThreadPoolExecutor)一起使用。

线程池默认使用一个简单的 ThreadFactory 来创建线程,但开发者可以实现自己的 ThreadFactory 来满足特定需求,例如为线程设置统一的名称前缀,方便调试和监控。

ThreadFactory 接口定义

@FunctionalInterface
public interface ThreadFactory {Thread newThread(Runnable r);
}

newThread(Runnable r) 方法:
创建并返回一个新的线程,任务由参数 Runnable r 执行。

默认 ThreadFactory 实现

线程池默认使用的 ThreadFactoryExecutors.defaultThreadFactory(),它的实现如下:

public static ThreadFactory defaultThreadFactory() {return new DefaultThreadFactory();
}private static class DefaultThreadFactory implements ThreadFactory {// 静态变量,用于记录线程池的全局编号。AtomicInteger是线程安全的递增计数器。private static final AtomicInteger poolNumber = new AtomicInteger(1);// 当前线程组,用于管理线程的分组关系。private final ThreadGroup group;// 记录当前线程池中线程的编号。每个线程池独立编号,线程编号从1开始。private final AtomicInteger threadNumber = new AtomicInteger(1);// 每个线程池的线程名称前缀,便于调试和区分线程池。private final String namePrefix;// 构造函数:初始化线程组和线程名称前缀。DefaultThreadFactory() {// 获取当前的安全管理器。如果安全管理器存在,则获取线程组,否则获取当前线程的线程组。SecurityManager s = System.getSecurityManager();group = (s != null) ? s.getThreadGroup() : Thread.currentThread().getThreadGroup();// 设置线程名称的前缀,格式为 "pool-N-thread-",其中 N 是线程池编号。namePrefix = "pool-" + poolNumber.getAndIncrement() + "-thread-";}// 重写 ThreadFactory 接口的 newThread 方法,创建一个新线程。@Overridepublic Thread newThread(Runnable r) {// 创建一个新线程,将任务 r 绑定到线程中,并设置线程名称和所属线程组。Thread t = new Thread(group, r, namePrefix + threadNumber.getAndIncrement(), 0);// 如果新线程是守护线程,将其设置为非守护线程。// 守护线程会在 JVM 中所有非守护线程终止后自动退出,因此这里确保线程池的线程不会被意外回收。if (t.isDaemon())t.setDaemon(false);// 如果线程的优先级不是正常优先级(Thread.NORM_PRIORITY),将其设置为正常优先级。// 这确保线程池中的所有线程具有一致的优先级。if (t.getPriority() != Thread.NORM_PRIORITY)t.setPriority(Thread.NORM_PRIORITY);// 返回新创建的线程。return t;}
}

默认实现的特点
  1. 线程命名规则:
    线程名称格式为:pool-N-thread-M,其中 N 是线程池编号,M 是线程编号。
    例如:pool-1-thread-1pool-1-thread-2

  2. 非守护线程:
    创建的线程默认是非守护线程,这样线程池中的线程不会因为 JVM 退出而被销毁。

  3. 线程优先级:
    默认设置为 Thread.NORM_PRIORITY,即标准优先级。

  4. 线程组:
    线程被分配到当前线程的线程组中。

http://www.yayakq.cn/news/467632/

相关文章:

  • 网站建设的公司价格小米网站 用什么做的
  • 中国装饰公司营销型网站建设韩国家具网站模板
  • 网站后台修改教程网站建设包含以下哪些建设阶段
  • 推荐一个两学一做的网站辉县网站建设
  • 有了域名怎么建网站三亚网吧多少钱一个小时
  • 池州微信网站建设百度网站建立
  • 手机端网站建设广告词广告推广 精准引流
  • 自定义网站模板网站设计的原始资料
  • cms仿站教程注册公司需要什么条件和材料
  • 网站挂到国外服务器wordpress 标签seo插件
  • iis添加asp网站rp如何做网站
  • 网站建设需要注意那些点wordpress几万条数据
  • 6网页设计的网站百捷网站建设工资
  • 海外网站搭建自建网站 服务器
  • 国外家装设计网站网络推广软件赚钱
  • 信息网站怎么做西安网站建设公司西安网络公司
  • 网站建设百度推广中国教学网站
  • 网站开发建设培训免费的com域名注册
  • 网站关键词设置几个360免费视频网站建设
  • 北京网站设计合理刻网站开发问卷调查
  • 泉州网站建设公司首选公司公关公司排名2020
  • cnetos 做网站服务wordpress 百度搜索图片
  • 仲恺建设局网站鬼佬做爰网站
  • 手机网站模版更换技巧WordPress文章数据表
  • 兰溪做网站昆明企业建网站多少钱
  • 做网站广告推广平台温州平面设计公司
  • 商丘网站建设网站推广网店推广有哪些
  • 1000元能否做网站文山知名网站建设
  • 国外出名设计网站有哪些WordPress post登录
  • 如何建一个个人的网站05网英语课课练答案