atomic

Jak zadeklarować wektor atomowy w C++

Zamierzam zadeklarować wektor zmiennych atomowych do wykorzystania jako liczniki w programie wielowątkowym. Oto co próbowałem ... ) . Edit: edytowałem post... Dla tych z Was, którzy widzieli pierwszy post, błąd był żenujący, że użyłem gcc zamiast g++ :\

Jak zaimplementować pamięć transakcyjną oprogramowania?

Jeśli chodzi o rzeczywiste instrukcje atomowe niskiego poziomu i ogrodzenia pamięci (zakładam, że są używane), jak zaimplemen ... clobbered(a więc na szczęście czasami dwa wątki mogą wykonać tę samą sekcję krytyczną jednocześnie bez potrzeby wycofywania)?

czy LOCK EX nA read & write powinien być atomowy?

file_put_contents ( "file", "data", LOCK_EX ) Do pisania (czyli - zamyka i zapisuje) file_get_contents ( "file", LOCK_EX ... zansa, że php kiedyś będzie się tak zachowywać? EDIT: wiem, że można użyć rename - chciałbym znać odpowiedź na to pytanie...

Wysokiej klasy funkcje porównywania i wymiany (CAS)?

Chciałbym udokumentować, jakie funkcje lub makra wysokiego poziomu (tj. C++, a nie inline assembler ) są dostępne do porównyw ... (CAS) atomowych prymitywów... Np. WIN32 Na x86 ma rodzinę funkcji _InterlockedCompareExchange w nagłówku <_intrin.h>.

C++ atomic operations for lock-free structures

Implementuję mechanizm bez blokady za pomocą instrukcji Atomic (double) compare and swap np. cmpxchg16b Obecnie piszę to w ... a jakieś wbudowane (przynajmniej dla CAS) Http://gcc.gnu.org/onlinedocs/gcc-4.4.0/gcc/Atomic-Builtins.html#Atomic-Builtins