2008-09-30 17 views

Répondre

16

Je vais laisser d'autres répertorient les différentes API spécifiques à la plateforme, mais pour référence future en C++ 09 vous aurez la

atomic_compare_exchange() 

opération dans la nouvelle « bibliothèque d'opérations atomique ».

+0

Bonne réponse !! Ne peut pas attendre pour cela ... – paxos1977

1

java a cette opération CAS, trop

voir here

il y a des utilisations pratiques pour cela, comme un lock-free hashtable utilisé dans le système multiprocesseur

+0

La question est étiquetée C++;) – paxos1977

+0

+1 mais merci quand même. Maintenant, je sais que Java a CAS aussi :) – Viet

8

bien pendue, une bibliothèque de système commun sur les systèmes Linux et Unix (mais également pris en charge sous Windows et Mac OS X), définit several atomic operations, notamment g_atomic_int_compare_and_exchange et g_atomic_pointer_compare_and_exchange

2

Il y a eu une série d'articles de groupe de travail sur ce sujet proposant des changements à la bibliothèque de normes C++. WG N2427 (Types et opérations atomiques C++) est la plus récente, qui contribue à la section 29 - Bibliothèque des opérations atomiques - de la norme en attente.