- 浏览: 49227 次
- 性别:
- 来自: 杭州
文章分类
最新评论
CPU密集型任务:应用主要是使用非常多的cup资源,进行无阻塞的逻辑运算,所以需要避免过多的线程上下文切换。所以线程数范围为:
线程数 = CPU核数+1
也可以设置成CPU核数*2,这还是要看JDK的使用版本,以及CPU配置(服务器的CPU有超线程)。对于JDK1.8来说,里面增加了一个并行计算,计算密集型的较理想线程数 = CPU内核线程数*2
IO密集型任务:是相对于IO操作比CPU计算操作占用更多的CPU时间来说的。如大部分的web应用开发会涉及到大量的网络传输;不仅如此,与数据库或是缓存间的交互也涉及到IO。一旦发生IO,就会使线程处于等待状态,所以我们可以稍微设置多一些线程池中线程的数量,这样就能让在等待IO的这段时间内,线程可以去做其它事,提高并发处理效率。
线程池中线程数范围为:
线程数 = CPU核心数/(1-阻塞系数)
这个阻塞系数一般为0.8~0.9之间,也可以取0.8或者0.9。以上不是绝对的,需要根据实际情况以及实际业务来调整。
线程数 = CPU核数+1
也可以设置成CPU核数*2,这还是要看JDK的使用版本,以及CPU配置(服务器的CPU有超线程)。对于JDK1.8来说,里面增加了一个并行计算,计算密集型的较理想线程数 = CPU内核线程数*2
IO密集型任务:是相对于IO操作比CPU计算操作占用更多的CPU时间来说的。如大部分的web应用开发会涉及到大量的网络传输;不仅如此,与数据库或是缓存间的交互也涉及到IO。一旦发生IO,就会使线程处于等待状态,所以我们可以稍微设置多一些线程池中线程的数量,这样就能让在等待IO的这段时间内,线程可以去做其它事,提高并发处理效率。
线程池中线程数范围为:
线程数 = CPU核心数/(1-阻塞系数)
这个阻塞系数一般为0.8~0.9之间,也可以取0.8或者0.9。以上不是绝对的,需要根据实际情况以及实际业务来调整。
发表评论
-
流未关闭导致调用delete方法删除失败
2017-11-02 20:00 491public static void main(String[ ... -
fastjson空值不处理
2017-09-21 15:21 0fastjson在处理对象转化为json串的时候,对于字段值为 ... -
java位运算
2017-09-19 10:05 457java位运算符 位运算符主要针对二进制,针对的是两个二 ... -
java final作用
2017-09-14 09:12 354final关键字的作用 1、被final修饰的类不可以被继承 ... -
System.getProperty使用
2017-07-23 15:27 779java的System.getProperty()方 ... -
Java如何获取当前的jar包路径
2017-07-23 12:28 2486最近在写一个可运行的jar包,需要从导出后跟jar同级目录读取 ... -
循环遍历集合过程中往集合添加或是删除元素报java.util.ConcurrentModificationException
2017-05-15 19:16 0java.util.ConcurrentModificatio ... -
图片压缩场景选择
2017-04-18 19:00 3191、平台上传图片,但是图片大小不确定(不会超过50M),后台处 ... -
PropertyUtils复制属性报错
2017-05-02 19:46 463java.lang.IllegalArgumentExcept ... -
ThreadLocal实现共享对象
2017-04-16 19:56 399当考虑到每个线程共享多个变量时,需要定义多个ThreadLoc ... -
通过jdk自带的反编译工具命令 javap
2017-04-10 09:39 0通过jdk自带的反编译工具命令 javap 可以查看class ... -
属性命名不遵守javaBean规范导致版本升级后获取不到值
2017-04-01 17:03 403如下所示: struts2 Action中存在如下定义的i ... -
bat批处理命令运行jar包中的main方法
2017-04-01 11:08 1376一、Eclipse导出可运行的 ... -
项目中jdk高版本编译后的代码在低版本的jdk运行报错
2017-03-23 16:10 908项目中jdk高版本编译后的代码运行在低版本的jdk的tomca ... -
java 获取同一个网关下不同客户端的ip失败
2017-03-31 20:11 612java 获取同一个网关下不同客户端的ip,得到的客户端的ip ... -
程序中解析域名报错
2017-03-16 09:00 656项目中通过webservice接口往第三方传送数据,本地配置是 ... -
服务器推送技术简单介绍
2017-03-12 19:01 0传统模式的 Web 系统以 ... -
java中调用语音库
2016-12-25 18:30 606java中调用语音库参考http://blog.csdn.ne ... -
非技术
2015-07-24 15:52 0近日项目开发中需要执行一些定时任务,比如需要在每天凌晨时候,分 ...
相关推荐
了解并发编程和线程池的工作原理,可以让您充分利用多核处理器,同时处理多个任务,提高系统的性能和响应速度。JUC 线程池管理线程的创建、复用和销毁,有效地减少了线程频繁创建和销毁所带来的开销,从而提高了系统...
Java并发编程:线程池的使用 - 平凡希 - 博客园平凡希博客园首页联系管理随笔 - 127 文章 - 1 评论 - 94Java并发编程:线程池的使用在前面
Java并发编程常见知识点源码集锦,涉及到对象锁,Executors多任务线程框架,线程池等示例,列出一些源码包中包括的内容: volatile关键字的非原子性、volatile关键字的使用、AtomicInteger原子性操作、线程安全小...
23 高并发编程和线程池,教程视频:java中高并发编程和线程池
《Java并发编程的艺术》内容涵盖Java并发编程机制的底层实现原理、Java内存模型、Java并发编程基础、Java中的锁、并发容器和框架、原子类、并发工具类、线程池、Executor框架等主题,每个主题都做了深入的讲解,同时...
java并发编程pdf文档第二部分:Java并发编程实战.pdf、Java多线程编程核心技术.pdf、实战Java高并发程序设计.pdf
阿里专家级并发编程架构师级课程,完成课程的学习可以帮助同学们解决非常多的JAVA并发编程疑难杂症,极大的提高JAVA并发编程的效率。课程内容包括了JAVA手写线程池,UC线程池API详解,线程安全根因详解,锁与原子类...
本节主要关注在配置和调整线程池时用的高级选项,讲述了任务执行框架的过程中需 要注意的危险。线程复用原理如下:每一个 Thread 的类都有一个 start 方法。 当调用 start 启动线程时 Java 虚拟机会调 用该类的 run...
JAVA并发编程实践中文版 英文版 原书源码 带书签 java_concurrency_in_practice.pdf 英文版还是不错的,但是中文版的译者典型的没有技术功底,介绍上说什么专家, 翻译的非常差劲,有些句子都不通顺,都不知道自己去...
java并发编程艺术java并发编程艺术java并发编程艺术java并发编程艺术java并发编程艺术
java并发编程实战源码 附有本书所有源码,maven 导入 eclipse或idea
JAVA并发编程艺术 高清pdf : 1.并发变成的挑战 2. java并发机制的底层实现原理 3. java 内存模型 4. java并发编程基础 5.java中的锁。。。。。。。
深入理解高并发编程-Java线程池核心技术 全面详解Java线程池核心技术
《Java并发编程从入门到精通》作者结合自己10多年Java并发编程经验,详细介绍了Java并发编程的基础概念、工作原理、编程技巧和注意事项,对Java高性能高并发编程有极大的参考价值。 《Java并发编程从入门到精通》...
第2章介绍Java并发编程的底层实现原理,介绍在CPU和JVM这个层面是如何帮助Java实现并发编程的。 第3章介绍深入介绍了Java的内存模型。Java线程之间的通信对程序员完全透明,内存可见性问题很容易困扰Java程序员,本...
6.3.4 在异构任务并行化中存在的局限 6.3.5 CompletionService:Executor与BlockingQueue 6.3.6 示例:使用CompletionService实现页面渲染器 6.3.7 为任务设置时限 6.3.8 示例:旅行预定门户网站 第7章 取消与...
, 《Java并发编程的艺术》内容涵盖Java并发编程机制的底层实现原理、Java内存模型、Java并发编程基础、Java中的锁、并发容器和框架、原子类、并发工具类、线程池、Executor框架等主题,每个主题都做了深入的讲解,...
java NIO和java并发编程的书籍java NIO和java并发编程的书籍java NIO和java并发编程的书籍java NIO和java并发编程的书籍java NIO和java并发编程的书籍java NIO和java并发编程的书籍java NIO和java并发编程的书籍java...
java并发编程实战pdf 线程与多线程 1.线程 在操作系统中,线程是比进程更小的能够独立运行的基本单位。同时,它也是 CPU 调度的基本单位。线程本身基本上不拥有系统资源,只是拥有一些在运行时 需要用到的系统资源...