![]() |
![]() |
Archon |
![]()
Сообщение
#1
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: ![]() ![]() ![]() |
Сел переписывать движок Doomed Game под потоки и... понял, что мои знания о потокобезопасности оставляют желать лучшего. Может быть кто-нибудь (volvo?) проведет несколько лекций на эту тему? Думаю, это не только меня может заинтересовать. Или может я просто задам свои вопросы?
-------------------- Close the World...txeN eht nepO
|
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата Проверяй А чего его проверять, вроде выглядит нормально, надо написать тестирующую программу, и запустить. Тогда увидим, правильно ли оно работает.Цитата Я так понимаю, что чтение 32-битной переменной в любом случае атомарно? И чтение и запись 32-битной переменной само по себе - атомарно. Но Interlocked-функции предназначены для того, чтобы сделать атомарными изменения этих переменных:Цитата(MSDN) This feature is useful in a multitasking operating system, in which the system can interrupt one thread's execution to grant a slice of processor time to another thread. Without such synchronization, two threads could read the same value, increment it by 1, and store the new value for a total increase of 1 instead of 2. The interlocked variable-access functions protect against this kind of error. Цитата Пока читал, узнал, что Int64 и QWord - оказывается не ordinal С этими типами вообще много неясного... Вот, к примеру:Цитата(ref.pdf 3.1.1) Ordinal types are countable and ordered, i.e. it is, in principle, possible to start counting them , однако и Int64 и QWord прекрасно Inc-рементируются one bye one, in a specified order. This property allows the operation of functions as Inc, Ord, Dec on ordinal types to be defined. ![]() |
![]() ![]() |
![]() |
Текстовая версия | 9.09.2025 2:21 |