KRThread.pas
Типы данных
Функции
- KRRunInThread – запускает методы типа TKRThreadProc в параллельном потоке и ожидает окончания выполнения
- AData – указатель на дополнительные данные, которые будет передан в вызываемый метод типа TKRThreadProc
- AProc – метод который будет вызван в параллельном потоке
Классы
Класс TKRThread
Родительский класс TThread
TKRThread – циклический двухрежимный поток на основе TThread. В пассивном режиме циклически вызывается метод виртуальный KRExecutePaused, а в активном режиме циклически вызывается виртуальный метод KRExecute. Виртуальный метод KRExecutePausedFirst вызывается один раз при переходе из активного режима в пассивный
Свойства класса TKRThread
- Active – свойство для управления режимом потока. Для перехода в активный режим нужно присвоить True, а в пассивный False. При изменении режима ожидается окончание выполнения текущего цикла потока
- Working – указывает на работу основного потока TThread. Если метод Execute завершит свою работу, то свойство перейдет в состояние False
- Pause – метод аналогичный Active, но с инвертированием
- Paused – индикатор текущего режима. True – пассивный режим, False – активный режим. Свойства Active и Pause переключают режимы, но переключение происходит не сразу, а с задержкой на ожидание окончания работы последнего цикла потока. Данный метод изменит свое значение только после того, как окончательно произойдет переключение режимов
- WaitTime – задержка в активном режиме. После прохода каждого цикла в активном режиме вызывается метод Sleep со значением заданным в данном свойстве
- WaitPauseTime – задержка в пассивном режиме. После прохода каждого цикла в пассивном режиме вызывается метод Sleep со значением заданным в данном свойстве
- UseProcessMessages – при переключении режимов, а также при удалении объекта потока, происходит задержка для ожидания окончания выполнения работы потока. Ожидание представляет из себя цикл с периодическим вызовом ProcessMessages или Sleep. Если в данном свойстве установить True, то будет вызываться ProcessMessages, в противном случае будет вызываться Sleep