Могут ли другие потоки изменять локальную память потока?

Допустим, у меня есть следующее объявление:

thread_local std::atomic<void*> local_var;

Есть модификации local_var из других тем разрешено? То есть, если я сообщу адрес local_var в другой поток, не изменяет local_var оттуда вызывать носовых демонов?

6

Решение

Да, разрешено изменять локальные переменные потока другого потока.

Какие thread_local означает, что для переменной является то, что название ссылается на отдельный объект в каждом потоке, но это не означает, что объект является частным для своего потока. Если вы сделаете переменную известной как-то иначе, чем по ее имени, то есть по ее адресу, другие потоки смогут получить к ней доступ.

10

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]