Потоки... Потоки? Потоки!, FPC |
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
Потоки... Потоки? Потоки!, FPC |
Archon |
Сообщение
#1
|
Профи Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: 24 |
Сел переписывать движок Doomed Game под потоки и... понял, что мои знания о потокобезопасности оставляют желать лучшего. Может быть кто-нибудь (volvo?) проведет несколько лекций на эту тему? Думаю, это не только меня может заинтересовать. Или может я просто задам свои вопросы?
-------------------- Close the World...txeN eht nepO
|
volvo |
Сообщение
#2
|
Гость |
Цитата Еще есть подозрение, что при наложении чтение/запись можно прочитать испорченное значение (вряд ли запись переменной происходит в 1 этап). Вот !!! Все, что нужно, ты уже сказал... Тебе надо просто гарантировать атомарность (неделимость) операции изменения значения переменной. Для этого вместо Inc() используй InterlockedIncrement() или InterlockedExchangeAdd(), обе функции описаны в System... Все Interlocked... функции гарантируют монопольное изменение значения переменной (к тому же, они и выполняются быстрее, Рихтер говорит о примерно 50 тактах против 1000, которые требуются для перехода в Kernel-mode из User-mode) |
Текстовая версия | 8.05.2024 23:32 |