procedure doterminate; virtual;
procedure execute; virtual; abstract;
procedure synchronize(method: tthreadmethod); overload;
property returnvalue: integer read freturnvalue write freturnvalue;
property terminated: boolean read fterminated;
public
constructor create(createsuspended: boolean);
destructor destroy; override;
procedure afterconstruction; override;
procedure resume;
procedure suspend;
procedure terminate;
function waitfor: longword;
class procedure synchronize(athread: tthread; amethod: tthreadmethod); overload;
class procedure staticsynchronize(athread: tthread; amethod: tthreadmethod);
property fatalexception: tobject read ffatalexception;
property freeonterminate: boolean read ffreeonterminate write ffreeonterminate;
property handle: thandle read fhandle;