Возможны конфликты при использовании параллельных потоков, когда потоки модифицируют одни и те же данные без защиты от одновременного доступа.
На одном или другом компьютере отличается только вероятность появления ошибок. Например, многопоточные ошибки значительно реже проявляются на одноядерных процессорах. Также на вероятность их появления влияет производительность/загруженность системы (когда загружена другой работой, то твоей программе отводится меньше времени исполнения, соответственно, меньше вероятность конфликтов).
Там осталось ещё одно узкое место: после замены таймера в главной форме добавление фразы "Пробуем отправить запрос..." в Memo получается тоже из параллельного потока - все такие действия тоже надо пускать через Synchronize. Убери Synchronize от контейнера и поставь сразу перед Memo.doAdd - будет гуд.
Ответов: 4621
Рейтинг: 746
|
|||
карма: 26 |
| ||
Голосовали: | MBO |
Редактировалось 1 раз(а), последний 2021-02-12 17:59:54