服务器有32个线程,如果我采用多进程做并行计算,采用多少个进程合适?

发布于 2022-09-01 05:23:57 字数 161 浏览 23 评论 0

进程线程 傻傻分不清楚 哈哈~

电脑好像都有多少个线程一说~

服务器有32个线程,如果我采用多进程做并行计算,采用多少个进程合适?

理论上进程开多少个和线程的数量无关~

为保证靠谱地高效率计算,开多少个进程合适呢

多谢:)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

迷途知返 2022-09-08 05:23:57

我觉得你还是要搞懂几个概念的,否则真如评论所说,你的问题没有什么针对性,大家也没法做讨论。
1) 进程和线程, 某度资料很多了,自己搜下可以看到。总之你能看到的在OS上的实体,都是进程的,线程只是进程内的运行实体,你只能通过编程来控制。 现在说的这些进程、线程都是传统意义上的POSIX标准的进程,了解完这些基本概念后,有机会你可以多读读OS方面的书,可以知道Linux上的线程其实是伪线程,http://www.ibm.com/developerworks/cn/linux/kernel/l-thread/。 而windows的线程是“真”线程。了解完这些之后,还可以了解下如Erlang、Golang这样的轻量级线程是怎么回事。
2) 并发和并行,这2个是不同的概念。你确定你的实现是基于并行而不是并发的吗? 区别http://blog.csdn.net/coolmeme/article/details/9997609
stackoverflow上的讨论 http://stackoverflow.com/questions/1897993/difference-between-concurrent-programming-and-parallel-programming
如果你程序够牛逼的话,当然是把所有的CPU core跑满,每个CPU上跑两个真正意义的线程就足够了,线程间的切换也是笔开销,听你的描述,貌似你的系统是个CPU敏感的程序,这时就不应该再有多process一说,跨IPC的开销比你想的要大,另外,很多程序的瓶颈根本不在CPU,往往是在IO上,所以你的情况下,最有可能出现的就是32核还没跑满,IO已经满了。
我觉得你需要、有必要搞懂这些概念之后,你也许才更清楚自己想要做的是什么,问的问题也会更有针对性。

等待圉鍢 2022-09-08 05:23:57

我觉得,按能力来说,有多少就用多少>尽可能多得用>只用几个>单核。不过你的问题太模糊了。

離殇 2022-09-08 05:23:57

可以自己顶 吗?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文