首页 > 编程语言 >java使用多线程

java使用多线程

时间:2024-09-12 12:24:04浏览次数:10  
标签:多线程 java cn 线程 使用 import executorService

import java.util.concurrent.TimeUnit;
import cn.hutool.core.thread.ExecutorBuilder;
import cn.hutool.core.thread.ThreadFactoryBuilder;

//构造多线程,可修改线程数
ExecutorService executorService = ExecutorBuilder.create()
        .setCorePoolSize(5) // 初始线程数
        .setMaxPoolSize(10) //最大线程数
        .setThreadFactory(ThreadFactoryBuilder.create().setNamePrefix("dapData_").build()) // 设置线程名称前缀
        .setWorkQueue(new LinkedBlockingQueue<>(100)) // 有界等待队列,最大等待数是100
        .build();

// 使用多线程
// 方法1
for(){
    executorService.execute(new Runnable() {
                @Override
                public void run(){
                //执行操作
                }
            });
}

// 方法2
for(){
    executorService.submit(() -> {
        //执行操作
    }
}

// 方法3
//如果不方便使用for循环,直接多写几个executorService.execute()也是一样的。

//关闭多线程
executorService.shutdown();
try {
    boolean success = executorService.awaitTermination(10, TimeUnit.MINUTES);
    if (!success) {
        log.error("线程池关闭失败");
    }
} catch (InterruptedException e) {
    log.error("线程池关闭失败",e);
}

标签:多线程,java,cn,线程,使用,import,executorService
From: https://www.cnblogs.com/chenzechao/p/18409938

相关文章

  • 基于 Bootstrap+Echarts +Java SpringBoot 实现数字化水资源监测全景驾驶舱项目
    基于Bootstrap+Echarts+JavaSpringBoot实现数字化水资源监测全景驾驶舱项目,此项目前端采用Bootstrap前端框架,结合javaScrip和echarts以及ajax实现前端页面的展现与后端数据进行交互。后端采用JavaSpringBoot开发后台功能,对数据库增加增删改查等操作,给前端提供数据接口。......
  • JAVA的安装与配置
    1.下载Java安装包https://www.oracle.com/java/technologies/javase/javas e8-archive-downloads.html(网址链接) 下载自己需要的版本2.安装JDK找到下载位置【打开】 下一步有需要更改位置下一步到这一步就算下载完成3.配置环境变量  1.在电脑下方搜索......
  • 收银系统源码、连锁店收银系统源码-收银台高频使用功能
    收银系统成为门店高频使用的软件工具,除了正常扫描商品、商品称重、收银结账、会员管理、处理订单以外,还有哪些功能也是门店日常经常会使用的功能呢?1.单品改价、单品打折门店可以给收银员开通权限,收银员在收银结算时可以给单个商品进行改价或者打折,最低优惠金额和最高优惠金额都是......
  • JAVA线程基础——ThreadLocal的使用和原理
    一、ThreadLocal        多线程访问同一个共享变量时特别容易出现并发问题,特别是在多个线程需要对一个共享变量进行写入时。为了保证线程安全,一般使用者在访问共享变量时需要进行适当的同步,如图1-3所示。        同步的措施一般是加锁,这就需要使用者对锁有......
  • Java学习路线:详细指引
    Java学习路线可以分为几个阶段,每个阶段都有其重点和推荐学习的内容。下面我将按照初学者、进阶和高级三个阶段来举例说明:初学者阶段目标:熟悉Java基础语法理解面向对象编程掌握基本数据类型和数据结构学会使用IDE(如IntelliJIDEA或Eclipse)学习内容:Java基础语法:包括变量、......
  • 使用ClassificationThresholdTuner进行二元和多类分类问题阈值调整,提高模型性能增强结
    AUROC指标,顾名思义,是基于ROC的,ROC是一条显示真阳性率与假阳性率关系的曲线。ROC曲线本身并不假设使用任何特定的阈值。但是曲线上的每个点对应一个特定的阈值。在下面的图中,蓝色曲线是ROC。这条曲线下的面积(AUROC)衡量了模型的总体性能,是在所有潜在阈值上的平均值。......
  • 2024年9月最新Stable Diffusion下载+安装+使用教程(超详细教学)
    前言注意:本文讲解的用的是用“整合包”来本地部署安装及使用StableDiffusionWebUI,你不需要懂太多的计算机知识,而且用整合包对新手也是比较友好的,磁盘需要预留100G~200G空间才能玩。整合包我会放在文末前言本文将基于最新的SD整合包,结合笔者整合的资源,为大家介绍最......
  • JAVA基础:抽象类,接口,instanceof,类关系,克隆
    1JDK中的包JDK=JRE+开发工具集(javac.exe)JRE=JVM+java类库JVM=java虚拟机jdk中自带了许多的包(类),常用的有java.lang该包中的类,不需要引用,可以直接使用。例如:Object,System,Stringjava.utiljava.sqljava.netjava.iojava.text2抽象方法......
  • 使用css属性—clip-path完成胶囊导航按钮
    使用css属性—clip-path完成胶囊导航按钮先看效果更多API上代码先看效果主要是为了实现胶囊内的颜色分割:更多APIclip-path属性常用的函数:API描述参数circle()创建一个圆形裁剪区域半径和圆心的坐标ellipse()创建一个椭圆形裁剪区域横轴和纵轴的半径以及圆心的坐......
  • HeaderFile 1.2 中 hct.h 使用教程
    下载HeaderFile1.2HCT是干什么的辅助数据生成主干框架你需要包含必须的头文件hct.h此外,你需要实现如下函数:voidcreate()数据生成函数voidsolve()答案生成函数(正解)voidtest()测试函数即使你并没有用到以上三个函数,你也必须对上述函数实例化(将会在下个版本得......