Является ли назначение структуры атомарным в C / C ++?

Я пишу программу, в которой один процесс читает и записывает в общую память, а другой - только ее. В разделяемой памяти есть такая структура:


struct A{
    int a;
    int b;
    double c;
};

я ожидаю сразу прочитать структуру, потому что пока я читаю, другой процесс может изменять содержимое структуры. Этого можно достичь, если присвоение структуры является атомарным и не прерывается. Как это:


struct A r = shared_struct;

Итак, атомарно ли присваивание структуры в C / C ++? Я попытался поискать в Интернете, но не нашел полезных ответов. Кто-нибудь может помочь? Спасибо.

15
задан RockU 31 March 2011 в 10:46
поделиться