为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

芜湖不芜 2021-04-05 20:23:43
我使用java.util.concurrent.ForkJoinPool制作并行处理程序。在继续执行此程序时,我检查了top和htop,并注意到其中top只有一个Java进程,但htop有许多进程。我的大四学生正在使用python编写并行处理程序,他说奇怪的是其中只有一个进程top。他还说,“ CPU使用率”top通常超过90%。但是我的程序只使用了68%。我以为原因是java和python之间如何实现并行处理的差异。但我不知道这是否正确。请告诉我造成这种差异的正确原因。
查看完整描述

1 回答

?
饮歌长啸

TA贡献1951条经验 获得超3个赞

您的上级老师在python中实现了多处理或多线程吗?要了解差异,请查看“多处理与线程Python”

我很确定他正在执行多处理,它产生了多个进程,这些进程是真实副本,而不是具有共享内存的线程。top/的行为htop是正确的。top仅显示进程,同时htop还显示线程。

不同之处在于您使用的是多线程,而您的上级似乎使用的是多处理,这也解释了不同的CPU使用率。

您可以按Hhtop其中将切换用户线程的视图。现在,它应该与顶部的视图几乎相同。


查看完整回答
反对 回复 2021-04-28
  • 1 回答
  • 0 关注
  • 171 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信