memory-model

C++11 wprowadził ustandaryzowany model pamięci. Co to znaczy? A jak to wpłynie na programowanie w C++?

C++11 wprowadził ustandaryzowany model pamięci, ale co to dokładnie oznacza? A jak to wpłynie na programowanie w C++? Ten ar ... e wiem, jak działa wewnętrzne wielowątkowość i co ogólnie oznacza model pamięci, proszę o pomoc w zrozumieniu tych pojęć. :-)

Co oznacza każda kolejność pamięci?

Przeczytałam rozdział i nie spodobał mi się zbytnio. Nadal Nie wiem, jakie są różnice między poszczególnymi porządkami pamięc ... em, ale popraw mnie, jeśli się mylę. Nie mogłem znaleźć niczego, co wyjaśniałoby to w łatwym do odczytania języku angielskim.

Co robi 'STD::kill dependency' i dlaczego miałbym go używać?

Czytałem o nowym modelu pamięci C++11 i natknąłem się na funkcję std::kill_dependency (§29.3/14-15). Ciężko mi zrozumieć, Dla ... , wciąż jest jedna rzecz, która mnie denerwuje: kiedy piszę kod, jakie powody skłoniłyby mnie do wybrania zabicia zależności?

Co oznacza atrybut [[niesie zależność]]?

Czy ktoś może to wyjaśnić w języku, który rozumie zwykły śmiertelnik?

Co to jest model pamięci C++03 dla współbieżności?

Jaki jest model pamięci dla współbieżności w C++03? (a czy C++11 zmienia model pamięci, aby lepiej obsługiwać współbieżność?)

Model pamięci C++0x i obciążenia spekulacyjne / sklepy

Czytałem więc o modelu pamięci, który jest częścią nadchodzącego standardu C++0x. Jednak jestem nieco zdezorientowany niektór ... w oryginalnym kodzie, a zatem transformacja jest zabroniona. Ten sam argument odnosi się również do przykładu 3.1.3 w N2197.

Czy w niektórych wyrażeniach JIT może się załamać dwa lotne odczyty jako jeden?

Załóżmy, że mamy volatile int a. Jeden wątek robi while (true) { a = 1; a = 0; } A inny wątek robi while (true) ... w takim przypadku nie widzisz, jak taka optymalizacja jak 2*a złamałaby specyfikację. Odniesienia do JLS będą mile widziane.

Pisze referencję na 64-bitowych maszynach wirtualnych

Model pamięci java nakazuje, że zapis int jest atomowy: to znaczy, jeśli napiszesz do niego wartość (składającą się z 4 bajtó ... 64-bitowych maszynach wirtualnych? Czy maszyny wirtualne są zmuszone do mapowania odniesień do 32bit? Pozdrawiam, Steffen

Nić.VolatileRead Implementation

Patrzę na implementację metod VolatileRead/VolatileWrite (za pomocą reflektora) i coś mnie zastanawia. To jest implementacj ... zed przypisanie wartości. Dlaczego? Ponadto, dlaczego te metody mają atrybut NoInlining? co by się stało, gdyby były inline?

C++11 Memory order acquire i memory order release semantyka?

Http://en.cppreference.com/w/cpp/atomic/memory_order w języku C++11 istnieje możliwość zdefiniowania funkcji memory_order_acq ... 5) x = 0; (6) unlock Czy możliwe jest następujące wykonanie: (0) lock, (1) x = 1, (5) x = 0, (2) PANIC ? Co mnie ominęło?

Algorytm Petersona w Javie?

Czy jest przykładowa implementacja algorytmu wzajemnego wykluczania w Javie?

Czy możliwe jest obserwowanie częściowo zbudowanego obiektu z innego wątku?

Często słyszałem, że w modelu pamięci. NET 2.0, pisze zawsze używać release ogrodzenia. Czy to prawda? Czy to oznacza, że naw ... worzyć wszystkie wspólne pola głęboko niezmiennych typów odniesienia volatile i (w większości przypadków) po prostu pracować?