Совместное использование памяти между родительским процессом и рабочими потоками с использованием общего объекта - PullRequest
0 голосов
/ 18 февраля 2019

Вопрос

Является ли общий объект хорошим способом передачи информации о состоянии между родительским процессом и одним или несколькими рабочими потоками?Я представлял один из двух способов сообщить о ходе выполнения работы, например, рабочим потоком:

  1. Переменные, переданные по ссылке на рабочий поток

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

Объект - с переменными состояния в качестве членов объекта - передается по ссылке

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


Дополнительные мысли:

Если я объявлю переменные-члены SharedStateObj как статические и инициализирую mySharedStateObj в основном процессе, как это изменит объект mySharedStateObj_worker, который инициализируется в рабочем потоке?


Язык: C ++ 11 Система:Операционная система Nvidia Jetson: Linux Ubuntu 16.04

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...