首页 > 其他分享 >线程池的参数如何设置?(蚂蚁一面)

线程池的参数如何设置?(蚂蚁一面)

时间:2023-03-18 18:56:05浏览次数:37  
标签:蚂蚁 可以 密集型 任务 参数 设置 线程 CPU

核心线程数:如果任务是 CPU 密集型,即计算任务比较多,可以设置线程数为核心数+1,这样可以让 CPU 资源得到充分利用。如果任务是 IO 密集型,即网络请求比较多,可以根据实际情况设置线程数,一般可以设置为 2 * 核心数。

最大线程数:最大线程数一般设置为 2 * 核心线程数,可以根据实际情况调整。

阻塞队列大小:如果任务是 CPU 密集型,即计算任务比较多,可以将队列大小设置为 0 或者 1,这样可以让线程池及时处理任务,避免任务堆积。如果任务是 IO 密集型,即网络请求比较多,可以设置队列大小为 2 * 核心线程数,这样可以缓存一些请求,避免线程池因为等待 IO 密集型任务而阻塞。

动态调整:可以根据实际情况动态调整线程池的核心数、最大线程数和队列大小,比如根据系统负载、CPU 使用率、任务执行时间等指标来调整。

监控和优化:可以通过监控线程池的运行状况,比如任务的平均响应时间、任务的完成数量等指标来优化线程池的配置,从而提高吞吐量。

标签:蚂蚁,可以,密集型,任务,参数,设置,线程,CPU
From: https://www.cnblogs.com/wangstudyblog/p/17231480.html

相关文章

  • 深入浅出QPS、RT和最佳线程数
    1什么是QPS:QPS是每秒钟处理完请求的次数。这里的请求不是指一个查询或者数据库查询,是包括一个业务逻辑的整个流程,也就是说每秒钟响应的请求次数。2什么是响应时间(RT):......
  • IEC60870 库扩展功能-读多个参数
    1、效果2、扩展后调用代码caseC_RS_NA_1://读取参数//获取请求的地址printf("ReadParam:%d,datasize:%d\n",CS101_ASDU_getTypeID(asdu),CS101......
  • 线程池子线程的终止Shutdown()、ShutdownNow()
    背景之前某需求在触发流控时需要中断ExcutorService中的子线程,发现无论Shutdown、ShutdownNow方法都无法直接停止子线程,今天看到线程的interrupt()方法才了解如何停止。s......
  • django序列化多对多字段设置为空时需要在模型表多对多字段加blank=True这个参数
    menus=models.ManyToManyField(to='Menu',db_table='lqz_roles_menus',blank=True)如果不写在存空列表的时候会报错写了......
  • 紫光展锐 T820 5G 芯片通过沃达丰运营商认证及详细参数
    沃达丰,是跨国性的移动电话运营商。现时为世界上最大的移动通讯网络公司之一,在全球27个国家均有投资。沃达丰拥有世界上最完备的企业信息管理系统和客户服务系统,在增加客户、......
  • 为什么不能使用Executors创建线程池
    ExrcutorExecutors是一个Java中的工具类。提供工厂方法来创建不同类型的线程池。如下所示:newFixedThreadPool(intnThreads):创建固定数目线程的线程池。newCachedThrea......
  • JAVA线程锁基础
    https://blog.csdn.net/qq_33375499/article/details/105161343Synchnized和lock的区别Synchronized是悲观锁CAS是乐观锁 锁的状态 无锁->偏向锁->轻量级锁->......
  • 多线程基础
     基本概念:程序、进程、线程程序(program):为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。进程(process):是指一个内存中运行......
  • 线程池中阻塞队列的作用?为什么是先添加列队而不是先创建最大线程?
    线程池中阻塞队列的作用:1.⼀般的队列只能保证作为⼀个有限⻓度的缓冲区,如果超出了缓冲⻓度,就⽆法保留当前的任务了,阻塞队列通过阻塞可以保留住当前想要继续⼊队的任务。2.......
  • c++ 影响多线程速度的因素记录
    目录0.序言1.缓存行同步问题/共享数据竞争1.1测试代码1.2测试逻辑1.3测试结果1.4小结2.任务颗粒度过小问题2.1测试代码2.1测试逻辑2.2测试结果2.3小结3.缓存未......