Java中到底有没有多进程的概念?

java实现的是一种多线程的机制,就java本身概念而言(虚拟机规范),线程级别的。
但是java到底是多进程的还是多线程的,根本由操作系统本身来决定,并不由java来决定,因为进程与线程的这种机制本身就只取决于操作系统,而不取决于高级语言语言,对于内存分配以及cpu时间片段的分配利用,是由更低级的比操作系统低的语言来实现。
对于一些老式的unix操作系统,它是没有线程概念存在的,它的异步协作方式就是多进程共享内存的方式来完成的,因此,在这种操作系统上,根本就不存在线程,java也没法实现线程,因此java就是多进程的应用程序,由多个java进程来完成协作。然而在windows上面,进程间的内存空间是互相独立的,数据不能直接共享,它的异步协作方式由进程中的线程来完成,这些线程共享进程所属内存来完成异步协作,所以java在这种操作系统上,表现的就是单进程多线程的方式。
就进程与线程的概念,并不是java本身一个概念,它们是操作系统级别的概念,java只是将操作系统的这种方式进行了包装,而并非自己去实现一套cpu时钟与内存访问机制,java本身是跳不出操作系统层面的。

猜你喜欢

转载自blog.csdn.net/weixin_41890097/article/details/82026820