Иллюстрированный самоучитель по Kylix

       

Общий обзор потоков



Общий обзор потоков

Поток (Thread) — это объект операционной системы, заключенный в процесс и реализующий какую-либо задачу. Любое приложение (процесс) содержит несколько потоков (как минимум, один, который называется основным, стандартным. В большинстве приложений вы можете использовать объект потока, который позволяет вам использовать потоки в ваших приложениях. Объекты потоков инкапсулируют в себе основные свойства и методы, необходимые для написания многопоточных приложений.

Итак, любой поток — это объект, получающий определенное процессорное время. Всякое приложение Linux является процессом операционной системы.

Примечание

Объекты потоков не позволяют вам управлять атрибутами безопасности или размером стека ваших потоков. Для того чтобы контролировать их, вам необходимо использовать функцию BegmThread, которая рассматривается далее.

Для того чтобы использовать объекты потоков в вашем приложении, вам нужно создать потомок класса TThread.

Класс TThread был создан для облегчения написания приложений с несколькими потоками. Он гарантирует совместимость при работе с библиотекой визуальных компонентов (CLX) Kylix.



Вообще, при создании многопоточных приложений необходимо следовать приведенным ниже рекомендациям:

  • остерегайтесь создавать слишком много потоков — это может привести к большой загруженности операционной системы и процессора;
  • используйте синхронизацию в случае, когда несколько потоков пытаются получить доступ к одному ресурсу;
  • большинство методов, которые обращаются к объектам CLX и изменяют содержимое формы, должны вызываться из главного CLX-потока или использовать объект синхронизации.

Определение объекта TThread находится в модуле Classes и имеет вид, приведенный в листинге 14.1.



Содержание раздела