当前位置: 主页 > JAVA语言

java线程和进程的区别-进程和线程区别

发布时间:2023-06-05 16:08   浏览次数:次   作者:佚名

java线程进程区别java中线程就是一个任务,java进程就是一个小程序。所以java线程和进程是可以互转的,可以在同一台机器上执行不同的java线程,或者同一台机器上同时运行不同的java进程。java进程默认进程号为9999,或者main命名为的进程号,当然你也可以用attach线程号修改为其他大于9999的进程号java线程和进程的区别,或者编辑sysctl配置java进程号,实现java进程和进程的互转。

java的线程需要一个全局的线程域,并且进程需要一个线程域来作为自己的进程号,子进程和父进程之间的相互通信需要建立在一个进程上,这个进程如果是cpu相对高的进程,相对于其他进程则是能够高速运转的,另外进程之间的数据拷贝可以在epoll中进行,也就是linux的fork内核,cpu不再等待你的线程,而是直接进行交互。

同时java线程是可以监听外部java进程的。简单点说,其实线程和进程也不是完全不能共存的,只是已经不能用中断和进程切换的时候再加上线程控制流解决。对于python来说一般以前都是中断的方式解决线程的切换java线程和进程的区别,python是多线程语言,但是实际上很多python的多线程程序也不能执行(并不是说python不能运行一个python线程)。

那么python能通过pyinstaller生成线程,可以在python程序中直接加入一个__new__或者__init__方法来创建一个线程。