Hallo,

Zitat Zitat von HaWe Beitrag anzeigen
- aber geht das auch:
std::atomic<unsigned char> myByteArray[64]
Da wären nur die Einzelelemente atomar, nicht das ganze Array.

Zitat Zitat von HaWe Beitrag anzeigen
als auch für komplette Kopierbefehle wie memcpy(), sodass man dafür keine Mutexe braucht.
Soweit ich das verstehe, sind atomare Typen nicht "automatisch geschützt" sondern nur, wenn man ihre Operationen (Zuweisung, Increment, Decrement, usw.) verwendet. Ein Zugriff über memcpy scheint mir nicht threadsicher zu sein, wenn das intern mit void* arbeitet. Aber alle Details zum C++11 Memory Model habe ich mir noch nicht angeschaut.