读书人

谁能讲讲“JAVA线程机制”如何回事

发布时间: 2011-12-15 23:41:24 作者: rapoo

谁能讲讲“JAVA线程机制”怎么回事?
java线程是基于操作系统的吗? 还是基于虚拟机的?
比如一个不支持多线程的操作系统环境下,可以使用虚拟机吗?
另外,JAVA多线程是可以分布运行在同一个虚拟机上还是不同的虚拟机上?


[解决办法]
如果操作系统不支持多线程,JVM会利用多进程模拟的

只要在这个操作系统上有JVM,那么你可以认为它已经实现了,多线程对你已经是透明的了
[解决办法]
基于虚拟机的
系统不支持应该也可以使用
在不同的虚拟机上应该是很难实现的

下面是图示,不好意思不能贴图,只好自己画了

virtual processes processes processes
user | | |
mode | | |
virtual kernel 1 kernel 2 kernel 3
monitor \ /
mode \ /
monitor virtual machine software
mode hardware
[解决办法]
你没搞清楚进程和线程啊...
他们是2个东西
进程就是你在 任务管理器 里能看到的那些当前运行的.exe列表

同时,每个进程又可以启动属于它自己的很多线程

那QQ打个比方
运行QQ的时候,在系统里会有一个QQ进程
然后QQ的主进程会启动负责不同工作的线程,比如TCP传输的网络线程,GUI显示的图像线程,监视键盘的监视线程等等...

读书人网 >J2SE开发

热点推荐