首页 > 其他分享 >线程池

线程池

时间:2024-10-23 11:13:54浏览次数:4  
标签:TASK executor 线程 EXECUTOR ThreadPoolTaskExecutor ORDER

  1. 线程池配置
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;

import java.util.concurrent.ThreadPoolExecutor;

@Configuration(proxyBeanMethods = false)
public class OrderListConfiguration {

    public static final String ORDER_LIST_POOL_TASK_EXECUTOR = "ORDER_LIST_POOL_TASK_EXECUTOR";

    @Bean(ORDER_LIST_POOL_TASK_EXECUTOR)
    public ThreadPoolTaskExecutor notifyThreadPoolTaskExecutor() {
        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
        executor.setCorePoolSize(8); // 设置核心线程数
        executor.setMaxPoolSize(16); // 设置最大线程数
        executor.setKeepAliveSeconds(60); // 设置空闲时间
        executor.setQueueCapacity(100); // 设置队列大小
        executor.setThreadNamePrefix("order-list-task-"); // 配置线程池的前缀
        executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
        // 进行加载
        executor.initialize();
        return executor;
    }

}
  1. 使用
    @Resource(name = ORDER_LIST_POOL_TASK_EXECUTOR)
    private ThreadPoolTaskExecutor threadPoolTaskExecutor;
    @Async(ORDER_LIST_POOL_TASK_EXECUTOR)

标签:TASK,executor,线程,EXECUTOR,ThreadPoolTaskExecutor,ORDER
From: https://www.cnblogs.com/revil/p/18495960

相关文章

  • 迁移线程migration
    每个处理器有一个迁移线程,线程名称是“migration/<cpu_id>”,属于停机调度类,可以抢占所有其他进程,其他进程不可以抢占它。迁移线程有两个作用。(1)调度器发出迁移请求,迁移线程处理迁移请求,把进程迁移到目标处理器。(2)执行主动负载均衡。如图所示,每个处理器有一个停机工作管理器,成员......
  • 【unity】 Loom实现多线程
    ​通常情况下,unity中在子线程中改变变量的值,但是子线程尚未结束时,主线程无法使用该变量。因此使用Loom作为中介,子线程调用并传值给Loom,Loom调用主线程的API。实现步骤创建Loom空物体,并挂载Loom脚本//Loom.csusingSystem;usingSystem.Collections;usingSystem.Collectio......
  • selenium单例模式下 docker-chrome 多线程并发代码
    最近需要写爬虫,在解决docker-standalone-chrome发现只能有一个chrome被执行。所以写了这个多线程并发控制类来管理。当模板记录下。#!/usr/bin/envpython3importthreadingimporttracebackfromloguruimportloggerfromseleniumimportwebdriverfromselenium.comm......
  • 说说进程间通信和线程间通信的几种方式及区别
    进程和线程的区别:进程:是资源分配的基本单位;线程:是程序执行的最小单位进程间的通信方式:管道(pipe):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。有名管道(namedpipe):有名管道也是半双工的通......
  • iOS 回到主线程刷新UI
    在iOS里面,项目打开就会运行一个主线程,所有的UI都在主线程里进行.其他网络请求或者耗时操作理论上也可以在主线程运行,但是如果太耗时,那么就会影响主线程其他UI.所以需要开字线程来进行耗时操作,子线程进行完耗时操作之后,如果项目需求有需要刷新UI,或者改变UI,一定得回到主......
  • 操作系统实验之Windows中的线程与线程同步现象
    一、实验目的1.掌握Windows中线程的操作。2.熟悉线程不同步时的现象及环境因素。3.掌握一种同步对象的使用。二、实验理论基础及教材对应关系1.线程和线程不同步的认识。2.线程间的同步和通信。3.本实验内容主要对应于操作系统教材第2章中关于线程的各节。三、实验内容与步......
  • 线程池实现原理及实践
    线程池的总体设计ThreadPoolExecutor实现的顶层接口是Executor,顶层接口Executor提供了一种思想:将任务提交和任务执行进行解耦。用户无需关注如何创建线程,如何调度线程来执行任务,用户只需提供Runnable对象,将任务的运行逻辑提交到执行器(Executor)中,由Executor框架完成线程的调配......
  • 11-案例:多线程版用户聊天程序
    1.多线程版用户群聊程序的_多用户聊天运行结果2.多线程版用户群聊程序的_服务端代码3.多线程版用户群聊程序的_客户端代码4.多线程版用户群聊程序的_双用户聊天运行结果5.多线程版用户群聊程序的_双用户聊天运行服务端代码6.多线程版用户群聊程序的_双用户聊天运行客户端代码......
  • 【Linux线程】Linux多线程实践:深入生产者消费者模型
    ......
  • 【JavaEE】【多线程】单例模式
    目录一、设计模式1.1单例模式1.1.1饿汉模式1.1.2懒汉模式1.2线程安全问题1.3懒汉模式线程安全问题的解决方法1.3.1原子性问题解决1.3.2解决效率问题1.3.3解决内存可见性问题和指令重排序问题一、设计模式在讲解案例前,先介绍一个概念设计模式:就是大佬们......