#multithreading #process
#многопоточность #процесс
Вопрос:
Что, если код выполняется в своем собственном процессе и включает в себя файл .h или corelogic.c, который является частью другого процесса.
У меня есть один процесс, выполняющий кучу кода, который включает заголовок модуля, который выполняется в другом процессе.
Какой код в процессе 1 вызывает код в процессе 2 и устанавливает переменные, которые присутствуют в коде, который находится в process2?
Есть ли у процесса 1 копия всего кода, подключенного через файл .h, который он включает из модулей процесса 2?
Итак, существует 2 копии переменных, по 1 для каждого процесса? Неужели невозможно установить переменные процесса 2 из процесса 1?
Ответ №1:
Два процесса в вашем примере имеют свою собственную копию каждой точки данных. Чтобы ваши два процесса использовали одну и ту же память (изменение значения в одном процессе автоматически изменяет значение во втором процессе), вам необходимо использовать общую память. В Linux вы можете использовать shmget.
Комментарии:
1. Я думаю, что мы используем общую память. Я проверю shmget, спасибо.