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