Fragment Napisano Kwiecień 17, 2019 Autor Zgłoś Udostępnij Napisano Kwiecień 17, 2019 Właśnie czytam sobie książkę Jeffrey-a Richtera Programming Applications for Windows (bardzo polecam) i natrafiłem na mały problem. Chodzi mianowicie o to, że wg. autora jak i także wg. dokumentacji SDK, zapis i odczyt zmiennych 32-bitowych można traktować jako jednorodną operację nieprzerywalną przez inne wątki aplikacji. W SDK dosłownie jest napisane tak: "Simple reads and writes to properly-aligned 32-bit variables are atomic." Jednak jest tam także takie zdanie: "Reads and writes to variables of other sizes are not guaranteed to be atomic(...)". Czy to oznacza, że odczyt i zapis zmiennych typów mniejszych niż 32 bity (char i short) nie są operacjami nieprzerywalnymi (ang. atomic) ? Drugie pytanie to co oznacza określenie w pierwszym z tych zdań "properly-aligned" ? Przetłumaczyłem to sobie na właściwie uszeregowana, ale co to oznacza, że zmienna jest właściwie uszeregowana ? Podejrzewam, że odpowiedzi na te pytanie będzie mógł mi udzielić ktoś znający asemblera. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.