Можем ли мы использовать Pthread_cond_signal () между потоком и потомком одного и того же родителя? - PullRequest
0 голосов
/ 06 января 2019

У меня есть родительский процесс, и я создал новый поток из родительского процесса, используя pthread_create(). Я также создал дочерний процесс «C» из родительского процесса, используя fork(), и вышел из родительского процесса. Теперь ребенок работает как демон.

Могу ли я использовать pthread_cond_signal между дочерним процессом и потоком? Или pthread_cond_signal может использоваться только между потоками одного и того же процесса?

1 Ответ

0 голосов
/ 06 января 2019

Вы можете использовать условные переменные в разных процессах, если сделать условную переменную общей для процесса, используя атрибут условной переменной, настроенный с помощью функции pthread_condattr_setpshared и значением PTHREAD_PROCESS_SHARED. Вам также нужно будет сделать связанный процесс взаимного исключения общим, используя атрибут mutex, настроенный с pthread_mutexattr_setpshared .

По умолчанию условные переменные и мьютексы не могут совместно использоваться процессами.

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