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