一尘不染

从线程内派生安全吗?

linux

让我解释一下:我已经在Linux上开发了一个应用程序,该应用程序分叉并执行一个外部二进制文件并等待其完成。结果由fork
+进程特有的shm文件传达。整个代码都封装在一个类中。

现在,我正在考虑对进程进行线程化以加快处理速度。具有许多不同的类函数实例的实例会分叉并同时(使用不同的参数)执行二进制文件,并将结果与​​它们自己的唯一shm文件进行通信。

这个线程安全吗?如果我在线程中分叉,除了安全起见,还需要注意什么吗?任何建议或帮助,不胜感激!


阅读 316

收藏
2020-06-02

共1个答案

一尘不染

fork即使使用线程,也很安全。分叉后,线程在每个进程中都是独立的。(也就是说,线程与分支正交)。但是,如果不同进程中的线程使用相同的共享内存进行通信,则必须设计一种同步机制。

2020-06-02