使用共享库在父进程和工作线程之间共享内存

时间:2019-02-18 16:54:21

标签: multithreading c++11

问题

共享对象是在父进程和一个或多个工作线程之间传递状态信息的好方法吗?我在想两种方式来交流完成的工作进度,例如通过工作线程:

  1. 通过引用传递给工作线程的变量

std::atomic<int> percentageProgress; std::thread worker_thread(someFunctionCall, std::ref(percentageProgress));

  1. 对象-以状态变量作为对象成员-通过引用传递

std::atomic<SharedStateObj> mySharedStateObj; std::thread worker_thread(someFunctionCall, std::ref(mySharedStateObj));


其他想法:

如果我将SharedStateObj成员变量声明为静态的并在主进程中初始化mySharedStateObj,这将如何更改在工作线程中初始化的mySharedStateObj_worker对象?


语言:C ++ 11 系统:Nvidia Jetson 操作系统:Linux Ubuntu 16.04

0 个答案:

没有答案