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

Меню

 
Главная
Assembler
Turbo Pascal
C++ Builder
Delphi
Java
Скачать


Статистика

 

   


Реклама

 
Кроме того, считает журналист, iPhone своим примером сделает другие телефоны лучше. . Предлагаем продажа автозапчастей оптом от производителя.

 

 

 

Взаимные исключения

 

Объект типа взаимное исключение (mutex) позволяет только одному потоку в данное время владеть им. Если продолжать аналогии, то этот объект можно сравнить с эстафетной палочкой.

Класс, инкапсулирующий взаимное исключение, — TMutex — находится в модуле IPCTHRD.PAS (пример IPCDEMOS). Конструктор:

constructor Create (const Name: string);

задает имя создаваемого объекта. Первоначально он не принадлежит никому. (Но функция API createMutex, вызываемая в нем, позволяет передать созданный объект тому потоку, в котором это произошло.) Далее метод

function Get(TimeOut: Integer): Boolean;

производит попытку в течение Timeout миллисекунд завладеть объектом (в этом случае результат равен True). Если объект более не нужен, следует вызвать метод

function Release: Boolean;

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

 

Copyright legioner © intbook.info, 2007