Потоки... Потоки? Потоки!, FPC |
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
Потоки... Потоки? Потоки!, FPC |
Archon |
Сообщение
#1
|
Профи Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: 24 |
Сел переписывать движок Doomed Game под потоки и... понял, что мои знания о потокобезопасности оставляют желать лучшего. Может быть кто-нибудь (volvo?) проведет несколько лекций на эту тему? Думаю, это не только меня может заинтересовать. Или может я просто задам свои вопросы?
-------------------- Close the World...txeN eht nepO
|
Archon |
Сообщение
#2
|
Профи Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: 24 |
Цитата Какие методы планируется вызывать из разных потоков? Все? В общем случае не все. Но кто его знает, как потом понадобится. Поэтому давай попробуем сделать все.Цитата Как пытался сделать потокобезопасность? Пока никак не пытался, только доки читал.Цитата (ну, и более глобальный вопрос, как вообще обеспечивается межпоточное взаимодействие, знаешь?) Знаю на теоретическом уровне критические секции, события, мутексы, семафоры. Использовать не пробовал.Цитата Что именно (по-твоему) может быть опасного в тех методах, которые ты привел, почему нельзя прямо так взять и работать с объектом из разных потоков? Так... Думаю, проблемы могут возникнуть при обращении к данным (FData). Сам по себе вызов методов, кажется, безопасен (у потоков отдельные стеки). Причем если пересекутся две попытки записи, проблемы очевидны, но я слышал, что и чтение/запись тоже вызывает проблемы (рассинхронизация кэшей процессоров, например). Еще есть подозрение, что при наложении чтение/запись можно прочитать испорченное значение (вряд ли запись переменной происходит в 1 этап).PS Вообще, выкладываю и сам проект. Исходники надергал из Doomed Game, получилось подобие спрайтового движка. Он работает, но не потокобезопасен. Потому возможны ошибки. Несколько файлов с документацией удалять не стал, но они уже устарели. Прикрепленные файлы project_t_snapshot.zip ( 855.02 килобайт ) Кол-во скачиваний: 605 -------------------- Close the World...txeN eht nepO
|
Текстовая версия | 8.05.2024 21:58 |