ВУЗ:
Составители:
Рубрика:
4
задача не из легких , поскольку в этом случае приходится учитывать гораздо
больше факторов, чем при разработке однопоточного приложения.
Объект TThread
Delphi инкапсулирует потоковый объект API в классе, именуемом TThread.
Несмотря на то , что один дискретный объект TThread инкапсулирует в себе
практически все самые популярные потоковые функции API, возникают ситуа-
ции, когда вам придется непосредственно обращаться к функциям API.
Основы работы объекта TThread
Определение класса TThread находится в модуле Classes и имеет следующий
вид:
type
TThread = class private
FHandle: THandle;
FThreadID: THandle;
FTerminated: Boolean;
FSuspended: Boolean;
FFreeOnTerminate: Boolean;
FFinished: Boolean;
FReturnValue: Integer;
FOnTerminate: TNotifyEvent;
FMethod: TThreadMethod;
FSynchronizeException: TObject;
procedure CallOnTerminate;
function GetPriority: TThreadPriority;
procedure SetPriority(Value: TThreadPriority);
procedure SetSuspended(Value: Boolean); protected
procedure DoTerminate; virtual;
procedure Execute; virtual; abstract;
procedure Synchronize(Method: TThreadMethod);
property ReturnValue: Integer read FReturnValue write
FReturnValue;
property Terminated: Boolean read FTerminated; public
constructor Create(CreateSuspended: Boolean);
destructor Destroy; override;
procedure Resume;
procedure Suspend;
procedure Terminate;
function WaitFor: Integer;
property FreeOnTerminate: Boolean read FFreeOnTerminate
write FFreeOnTerminate;
property Handle: THandle read FHandle;
property Priority: TThreadPriority read GetPriority write
SetPriority; property Suspended: Boolean read FSuspended write
SetSuspended; property ThreadID: THandle read FThreadID;
property OnTerminate: TNotifyEvent read FOnTerminate write
FOnTerminate;
end;
4 задача не из легких , по ско льку в этом случае прих о дится учиты вать го раздо бо льш е факторо в, чем при разрабо ткео дно по точно го прило ж ения. О б ъект TThread Delphi инкапсулируетпо токо вы й о бъ ектAPI в классе, именуемо м TThread. Н есмо тря на то, что о дин дискретны й о бъ ектTThread инкапсулируетв себе практически все самы е по пулярны е по токо вы е функции API, во зникаю тситуа- ции, ко гдавам придется непо средственно о бращ аться к функциям API. О с н овы раб от ы об ъект аTThread О пределение классаTThread нах о дится в мо дуле Classes и имеетследую щ ий вид: type TThread = class private FHandle: THandle; FThreadID: THandle; FTerminated: Boolean; FSuspended: Boolean; FFreeOnTerminate: Boolean; FFinished: Boolean; FReturnValue: Integer; FOnTerminate: TNotifyEvent; FMethod: TThreadMethod; FSynchronizeException: TObject; procedure CallOnTerminate; function GetPriority: TThreadPriority; procedure SetPriority(Value: TThreadPriority); procedure SetSuspended(Value: Boolean); protected procedure DoTerminate; virtual; procedure Execute; virtual; abstract; procedure Synchronize(Method: TThreadMethod); property ReturnValue: Integer read FReturnValue write FReturnValue; property Terminated: Boolean read FTerminated; public constructor Create(CreateSuspended: Boolean); destructor Destroy; override; procedure Resume; procedure Suspend; procedure Terminate; function WaitFor: Integer; property FreeOnTerminate: Boolean read FFreeOnTerminate write FFreeOnTerminate; property Handle: THandle read FHandle; property Priority: TThreadPriority read GetPriority write SetPriority; property Suspended: Boolean read FSuspended write SetSuspended; property ThreadID: THandle read FThreadID; property OnTerminate: TNotifyEvent read FOnTerminate write FOnTerminate; end;
Страницы
- « первая
- ‹ предыдущая
- …
- 2
- 3
- 4
- 5
- 6
- …
- следующая ›
- последняя »