gpt4 book ai didi

linux - 线程亲和性与进程亲和性

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:06:57 26 4
gpt4 key购买 nike

我有一个对延迟敏感的应用程序,它由可以并行运行的 2 个逻辑 部分组成。我最初的设计是让每个逻辑部分成为一个独立的程序,并在单独的内核上运行它们,通过文件映射共享内存传递信息。但是在知道即使来自同一进程的 2 个线程也可以在不同的内核中运行之后,我考虑将这 2 个程序合并到一个进程中,每个进程都在一个线程上运行到独立的核心。而且由于一个进程中的所有线程共享内存空间,我可以去掉共享内存,直接使用程序内存空间,这样会更快。

我的推理正确吗?如果正确,将应用程序分成进程而不是在一个进程中使用线程亲和性有什么好处?

最佳答案

1) 是的,你的推理是正确的。在 Linux 中,您可以将不同的线程绑定(bind)到不同的内核,这样您就可以摆脱文件映射共享内存

2) 文件映射共享内存(我会使用术语进程间共享内存)主要用作不同进程之间的通信/消息传递方式,例如在需要一直在后台运行的监视进程和可以随时打开/关闭的用户界面进程之间。在您的情况下,您只需要线程关联。

关于linux - 线程亲和性与进程亲和性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44888234/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com