Потоки... Потоки? Потоки!, FPC |
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
Потоки... Потоки? Потоки!, FPC |
Archon |
Сообщение
#1
|
Профи Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: 24 |
Сел переписывать движок 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-рементируются Да и Pred/Succ, которые тоже работают только с перечислимыми типами, с ними работают. А вот цикл for с управляющей переменной Int64/QWord невозможен. Как это понимать?one bye one, in a specified order. This property allows the operation of functions as Inc, Ord, Dec on ordinal types to be defined. |
Текстовая версия | 8.05.2024 14:17 |