Создание многопоточных приложений. Копытин А.В - 4 стр.

UptoLike

Составители: 

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;