Вверх ↑
Ответов: 4621
Рейтинг: 746
#1: 2021-02-12 17:54:25 ЛС | профиль | цитата
Возможны конфликты при использовании параллельных потоков, когда потоки модифицируют одни и те же данные без защиты от одновременного доступа.
На одном или другом компьютере отличается только вероятность появления ошибок. Например, многопоточные ошибки значительно реже проявляются на одноядерных процессорах. Также на вероятность их появления влияет производительность/загруженность системы (когда загружена другой работой, то твоей программе отводится меньше времени исполнения, соответственно, меньше вероятность конфликтов).

Там осталось ещё одно узкое место: после замены таймера в главной форме добавление фразы "Пробуем отправить запрос..." в Memo получается тоже из параллельного потока - все такие действия тоже надо пускать через Synchronize. Убери Synchronize от контейнера и поставь сразу перед Memo.doAdd - будет гуд.
карма: 26

1
Голосовали:MBO
Редактировалось 1 раз(а), последний 2021-02-12 17:59:54