java thread cpu
来源:互联网 发布:java web 商城 编辑:程序博客网 时间:2024/06/07 01:53
问题:一个java进程的多个线程能否在cpu的多core里执行?
观点一:
进程是CPU进行调度的单位,而JVM是进程级别的,于是一个jvm产生的java进程就只能跑在CPU的一个core上。
在我的印象里一直抱着这个想法,很多年。多年之前OS对于cpu执行进程是这么处理的,没有错。
观点二:
从操作系统来看,linux2.6以及windowsNT4.0之后都具备将多个线程放到cpu的多个core里执行的能力。也就意味着一个多线程的原生程序(直接和OS交互),在这种操作系统下是可以被多个core同时执行的,每个core的thread ID不一样。
但是java 进程是通过jvm产生的,操作系统能识别java进程的线程吗?
回答是根据jvm的实现线程的方式,jvm会有两种实现方式:green thread、native thread 。 green thread 指 VM 自己管 thread, 而 native thread 表示該 VM 用的 thread 等同於 OS thread。其中如果是native theead的方式实现的话,是可以多个core执行同一进程的多个thread的。
多说一句:官方的jvm是native thread的实现方式。
个人看法,有不同意见欢迎留言讨论。
0 0
- java thread cpu
- jstack: Java占用高CPU分析之- GC Task Thread
- jstack: Java占用高CPU分析之- C2 Compiler Thread
- set thread affioph0iinity cpu
- 关于 cpu core thread etc
- 通过Java thread dump分析找到耗费CPU最高的源代码
- 过Java thread dump分析找到耗费CPU最高的源代码
- Java Thread Dump – 系統卡死、CPU 100%等問題的診斷工具
- 通过Java thread dump分析找到耗费CPU最高的源代码
- 通过 thread dump 分析找到高CPU耗用与内存溢出的Java代码
- 通过 thread dump 分析找到高CPU耗用与内存溢出的Java代码
- Thread & Java
- Java Thread
- java Thread
- Java Thread
- Java Thread
- java thread
- Java Thread
- Svn分支管理
- 阳和移动开发
- 内核中返回结构体首地址的函数container_of
- Java开发者易犯错误Top10
- thinkphp3.2.3 ueditor1.4.3 图片上传操作,在线删除上传图片功能。
- java thread cpu
- 服务器如何允许和禁止CNAME访问
- MySQL主从复制
- java自定义annotation使用详解
- Unity3D开发——LeRunning角色选择界面制作
- 嵌套类,内部类,匿名内部类再学习
- HTTP报文详解
- 初步篇11算术运算符与算术表达式项目4玩数字
- c linux服务器简单http server程序