我有一个小的c程序,它使用大量的cpu,这个程序编译成exe,我从我的c# gui运行它作为一个进程。
当我想在整个cpu内核上并行运行它时,我有两个选项。
我有4个cpu核心。
哪条路更快?
编辑:这些进程/线程将像3-5 those一样运行,并且不需要在anotger线程/进程之间进行通信。
所有这些都运行在windows上
发布于 2018-10-29 22:21:11
在C中运行4个线程将比在C#中运行4个进程更快。
进程之间的切换比线程之间的切换更严重,进程之间的通信要比线程之间的通信慢。
发布于 2018-10-29 22:34:32
分配进程需要更多的时间来分配线程,因为线程共享资源(代码、数据.)
如果您的cpu不断更改进程(这通常发生)不是更好的解决方案使用进程,使用线程是更有效的,特别是在一个cpu系统.
https://stackoverflow.com/questions/53054301
复制相似问题