Was sind einige Anwendungsfälle für memory_order_relaxed

8

Das C ++ - Speichermodell verfügt über entspannte Atomics, die bei Speicheroperationen keine Bestellgarantie bieten. Anders als das Mailbox-Beispiel in C, das ich hier gefunden habe:

Ссылка

Basierend auf dem motivierenden Beispiel in diesem Papier:

Ссылка

Ich war neugierig auf andere Anwendungsfälle für diese Art von Synchronisationsmechanismus.

    
mikelong 06.05.2014, 06:27
quelle

1 Antwort

9

Ein einfaches Beispiel, das ich häufig in meiner Arbeit sehe, ist ein Statistikzähler. Wenn du möchte die Häufigkeit zählen, mit der ein Ereignis eintritt, aber keine Art von Ereignis benötigen Synchronisierung über Threads abgesehen davon, dass das Inkrement sicher ist, mit memory_order_relaxed macht Sinn.

%Vor%

In beiden Fällen muss keine stärkere Speicherreihenfolge verwendet werden. Auf einigen Plattformen könnten negative Auswirkungen auf die Leistung haben.

    
jacobsa 12.06.2014, 12:07
quelle

Tags und Links