( Csab | 2016. 03. 24., cs – 11:39 )

Az L4-nél állítólag kihagyták a mutexeket, ez pedig programozási stílus váltás, lentebb írtam már róla.

Mutex nélkül is képes vagy rengeteg dolgot megcsinálni, ami egyébként szinkronizálást igényelne.

Példa:
- ki szeretnéd olvasni az nap/óra/perc/másodperc értékeket, amit egy szál frissít
- ha nem szinkronizálsz, bajban lehetsz, mert 23:59:59-ről akár 24:59:59-re is ugorhatsz, ha nem lockolsz (az óra kiolvasás nem atomi).

Jön a trükk:
- kétszer olvasod ki az órát gyorsan egymás után, ha megegyezik a két érték, akkor nem volt váltás félúton
- ha épp kiolvasás közben jött az órafrissítés, nincs más dolgod, mit újra kiolvasni

Szinkronizálás nulla, overhead minimális.

Amit az L4-ről olvastam, hogy ha van más megoldás, akkor nem használ mutexet.