首页 > 其他分享 >CPU密集型和IO密集型(判断最大核心线程的最大线程数)

CPU密集型和IO密集型(判断最大核心线程的最大线程数)

时间:2022-10-20 23:11:28浏览次数:38  
标签:最大 getRuntime 密集型 IO 线程 CPU

CPU密集型和IO密集型(判断最大核心线程的最大线程数)

CPU密集型

1.CPU密集型
获取电脑CPU的最大核数,几核,最大线程数就是几
Runtime.getRuntime().availableProcessors()--->获取电脑的CPU核数

IO密集型

2.IO密集型
判断程序中,十分耗IO的线程,最大线程一般设置成大于大型IO项目的两倍

代码实现

public class Demo02 {
    public static void main(String[] args) {
        System.out.println(Runtime.getRuntime().availableProcessors());
        ExecutorService threadPool = new ThreadPoolExecutor(
                2,
                Runtime.getRuntime().availableProcessors(),//最大核心核心线程数
                3,
                TimeUnit.SECONDS,
                 new LinkedBlockingDeque<>(3),
                Executors.defaultThreadFactory(),
                new ThreadPoolExecutor.DiscardOldestPolicy()
                );
        //最大承载数:Deque+Max
        for (int i = 1; i <=3; i++) {
          threadPool.execute(()-> {
              System.out.println(Thread.currentThread().getName()+": "+"OK");
          });
        }
       threadPool.shutdown();
    }
}

标签:最大,getRuntime,密集型,IO,线程,CPU
From: https://www.cnblogs.com/wfy-studying/p/16811708.html

相关文章

  • 测试开发jmeter设置线程序号
    测试开发jmeter设置线程序号${__threadNum}需要在请求的名称后面加上${__threadNum}    然后运行结果如下: ......
  • Spring中Transactional注解使用的心得
    今天看黑马redis的课,里面讲到了一个事务注解不生效的问题。究其原因,就在于Spring中事务注解生效的条件。那么接下来就说一下自己的心得。查了一下资料,就是说如果想让@Tr......
  • 个人翻译Introduction to Linear Algebra, 5th Edition 3.1节(仅用于交流学习,非盈利)
    本书的翻译仅为交流学习!才疏学浅,不当的地方还望指正。请勿于其它用途!PDF文件 链接一:  https://pan.baidu.com/s/1owQJo1oq_yb7sqnnjpIPzA提取码:27t1  链接二:htt......
  • P1464 function
    Function题目描述对于一个递归函数w(a,b,c)如果a<=0或b<=0或c<=0就返回值。如果a>20a>20或b>20b>20或c>20c>20就返回w(20,20,20)w(20,20,20)如果a<ba<b......
  • dremio kernel 模块之DremioSqlDialect
    参考图实际上是继承自calcite的sql方言类  arp扩展的说明目前官方的arp主要是对于sql数据库类型的高级支持,当然需要依赖社区版的arp公共包dremio-ce-jdbc-pl......
  • 通过 Github Action 实现定时推送天气预报
    偶然间,看到GitHubActions教程:定时发送天气邮件-阮一峰的网络日志这篇文章,没错,这个正好能打发自己的折腾之心,也能通过代码给生活引入一些变化。还是在这里简单记录一......
  • SpringBoot子项目中application.properties没有小绿叶
    问题描述在创建SpringBoot子项目中的配置文件application.properties时,没有出现下图中的小绿叶图标,说明配置文件没有被Spring扫描到,会导致配置无法生效。解决方案解决......
  • ctfshow web147(create_function函数命令执行)
    if(isset($_POST['ctf'])){$ctfshow=$_POST['ctf'];if(!preg_match('/^[a-z0-9_]*$/isD',$ctfshow)){$ctfshow('',$_GET['show']);}}首先第......
  • Java四种线程池
    1,线程池的作用 线程池作用就是限制系统中执行线程的数量。 根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果。 2,为什么要用线程池? (1).减少了创建......
  • .Net 线程
    一个应用程序中,必须有一个进程,一个进程可同时多个线程协作处理。同步:单线程,每一步都执行结束并返回结果,下一步处于等待,阻塞程序流异步:多线程,不需要等待执行结束,可继续执......