Какой подход использовать в многопоточном программировании на Си?

Здравствуйте! Можно ли использовать макросы при написании многопоточной программы?
  • Вопрос задан
  • 123 просмотра
Решения вопроса 2
includedlibrary
@includedlibrary
Можно. Макросы генерируют код, после чего он компилируется. Проблемы с многопоточностью могут возникнуть только в случае, если вы сделаете макрос, который генерирует не потокобезопасный код
Ответ написан
@res2001
Developer, ex-admin
Макросы это просто один из инструментов, который предоставляет язык. Использовать его или не использовать ваше дело, многопоточность тут не при делах.
Один и тот же код может моментально стать не потокобезопасным, как только появляются не защищенные разделяемые между потоками данные, которые использует код. При этом сам код может не поменяться, просто вы решили добавить поток и использовать в нем те же данные. Данные сразу же становятся разделяемыми и нужно их использование защищать везде, где они раньше использовались "беззащитными", будь то обычный код или код в макросах.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы