- LiFePO4 Speicher Test         
Ergebnis 1 bis 2 von 2

Thema: [C++] std::atomic auch für Arrays?

  1. #1
    HaWe
    Gast

    [C++] std::atomic auch für Arrays?

    Anzeige

    Powerstation Test
    hallo,
    wer weiß, ob sich std::atomic auch für Arrays verwenden lässt, nicht nur für Einzel-Variablen?

    std::atomic<unsigned char> myByte;
    ist klar -
    - aber geht das auch:
    std::atomic<unsigned char> myByteArray[64]


    der Sinn ist, dass dieser atomic Array dadurch für alle Lese/Schreibzugriffe automatisch thread-safe sein soll, sowohl für Einzel-Zellen als auch für komplette Kopierbefehle wie memcpy(), sodass man dafür keine Mutexe braucht. Das vereinfacht die Sache nämlich erheblich für multiple Threads und multiple Arrays.

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.09.2011
    Ort
    Hessen
    Beiträge
    707
    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.

Ähnliche Themen

  1. [ERLEDIGT] STM32F407, CooCox und große Char-Arrays machen Probleme.
    Von erik_wolfram im Forum ARM - 32-bit-Mikrocontroller-Architektur
    Antworten: 3
    Letzter Beitrag: 05.05.2016, 11:49
  2. Antworten: 0
    Letzter Beitrag: 19.12.2014, 12:44
  3. unsigned volatile long ??
    Von Ali_Baba im Forum C - Programmierung (GCC u.a.)
    Antworten: 9
    Letzter Beitrag: 04.03.2009, 21:31
  4. 16Bit unsigned integer auf AVR
    Von cumi im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 13.04.2006, 21:07
  5. Signed or Unsigned
    Von Arexx-Henk im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 13.02.2006, 17:05

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiTime Speicher und Akkus