property Priority: TThreadPriority; 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

property Priority: TThreadPriority;

Поиск

property Handle: THandle;

Дескриптор потока

property ThreadID: THandle;

Идентификатор потока

property Priority: TThreadPriority;

Приоритет потока

procedure Synchronize (Method: TThreadMethod);

Метод используется для обращения к компонентам VCL внутри потока. Указанный в качестве аргумента метод, содержащий вызовы VCL, включается в главный поток приложения.

procedure Execute; virtual; abstract;

Главный метод класса. Обязательно переопределяется, после чего должен содержать код потока

property ReturnValue: integer;

Код завершения потока. По умолчанию – ноль. Другие значения могут быть присвоены внутри потока по усмотрению программиста

property OnTerminate: TNotifyEvent;

Событие, происходящее после завершения метода Execute, но перед Destroy

12. Синхронизация потоков. Критические секции

При доступе потоков к общим ресурсам возникают коллизии. Предотвратить коллизии можно с помощью различных средств синхронизации, одним из которых является критическая секция. Все потоки в системе должны иметь доступ к системным ресурсам — кучам, последовательным портам, файлам, окнам и т.д. Если один из потоков запросит монопольный доступ к какому-либо ресурсу, другим потокам, которым тоже нужен этот ресурс, не удастся выполнить свои задачи. А с другой стороны, просто недопустимо, чтобы потоки бесконтрольно пользовались ресурсами. Иначе может получиться так, что один поток пишет в блок памяти, из которого другой что-то считывает.

Потоки должны взаимодействовать друг с другом в двух основных случаях:

  • совместно используя разделяемый ресурс (чтобы не разрушить его);
  • когда нужно уведомлять другие потоки о завершении каких-либо операций.


Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 46; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.005 с.)