java和python之间的并行处理差异

我使用java.util.concurrent.ForkJoinPool制作并行处理程序。在继续执行此程序时,我检查了tophtop,并注意到其中top只有一个Java进程,但htop有许多进程。

我的大四学生正在使用python编写并行处理程序,他说奇怪的是其中只有一个进程top。他还说,“ CPU使用率”top通常超过90%。但是我的程序只使用了68%。

我以为原因是java和python之间如何实现并行处理的差异。但我不知道这是否正确。请告诉我造成这种差异的正确原因。


芜湖不芜
浏览 172回答 1
1回答

饮歌长啸

您的上级老师在python中实现了多处理或多线程吗?要了解差异,请查看“多处理与线程Python”我很确定他正在执行多处理,它产生了多个进程,这些进程是真实副本,而不是具有共享内存的线程。top/的行为htop是正确的。top仅显示进程,同时htop还显示线程。不同之处在于您使用的是多线程,而您的上级似乎使用的是多处理,这也解释了不同的CPU使用率。您可以按H,htop其中将切换用户线程的视图。现在,它应该与顶部的视图几乎相同。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java