Delphi для профессионалов

         

и другие мощные инструменты, должны




Потоки, как и другие мощные инструменты, должны быть использованы с осторожностью и без злоупотреблений, поскольку могут возникнуть ошибки, которые очень трудно найти. Есть очень много доводов за использование потоков, но есть и доводы против этого. Работа с потоками будет проще, если учитывать нижеприведенные положения.
  •  Если потоки работают только с переменными, объявленными внутри их собственного класса, то ситуации гонок и тупиков крайне маловероятны.
Другими словами, избегайте использования в потоках глобальных переменных и переменных других объектов. 
  •  Если вы обращаетесь к полям или методам объектов VCL, делайте это только посредством метода Synchronize.
  •  Не "пересинхронизируйте" ваше приложение, а не то оно будет работать как один единственный поток. Избыточно синхронизированное приложение теряет все преимущества от наличия нескольких потоков, т. к. они будут постоянно останавливаться и ждать синхронизации. Потоки предоставляют изящное решение некоторых сегодняшних проблем программирования; но они также усложняют и без того непростой процесс отладки. И все же преимущества потоков однозначно перевешивают их недостатки.
 
Содержание раздела