关于java线程进程的一些问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于java线程进程的一些问题相关的知识,希望对你有一定的参考价值。

1、多核硬件上,java中同一个进程的多个线程可以运行在不同的CPU上么?

应该是可以的,在eclipse上面跑一个模拟程序,一个死循环的线程可以占用系统(4核,Win7)25%的CPU,4个这样的线程刚好占用100%。
这可以从侧面说明线程是可以被分配到不同的核。当然要考虑具体的系统

2、android的每个App对应一个虚拟机,对应一个进程,这样不是有很多个虚拟机的拷贝,浪费了很多内存空间吗?

不会。
原因是:1、每个App都是运行在zygote创建的进程上面
    2、虚拟机也是在zygote创建的
    3、所以每个App都可以共享父进程zygote的内存空间
    4、并且这种共享采用COW(写时复制),即只读文件可以在父子进程间共享,不会被修改;被修改的部分在修改的时候拷贝一份。
    5、所以,不仅不会浪费空间,还能节省时间

 

以上是关于关于java线程进程的一些问题的主要内容,如果未能解决你的问题,请参考以下文章

关于java线程并发的一些破事

关于java多线程初试

java基础入门-多线程同步浅析-以银行转账为样例

多线程编程

JAVA 线程基础(上)

Java进程间通信和线程间通信?