繁体   English   中英

优化吞吐量:多线程与多进程

[英]Optimizing throughput: multi-thread vs. multi-process

我正在一个处理大量系统的系统上进行大量的计算。 该系统有两个主要部分,第一部分是处理输入/输出,第二部分是处理该数据并计算结果。 但是问题在于它不能处理50个项目,而应该一次处理1000个以上的项目。 这两个组件都有多个线程运行以执行不同任务。 我在Linux平台上并使用c ++。 据我了解,在Linux系统中,除了共享虚拟内存空间外,线程和进程几乎相似。 所以我的问题是,将I / O与处理单元分开并将它们放在单独的可执行文件或进程中,然后使用共享内存或消息队列或任何其他IPC技术是一个好主意吗?

在您的情况下,绝对不会。 为了安全起见,使用了不同的进程:如果一个进程崩溃,则另一个进程继续。 如果黑客管理一个进程,则您可以限制其权限,这样黑客就不会做任何有害的事情(在这种情况下,代码中的错误也不会做任何有害的事情)。

使用可用的任何概要分析工具。 当今的计算机是如此之快,以至于在大多数情况下,当任务运行太慢时,归因于应用程序的愚蠢行为,而不是由于缺少优化而导致的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM