[Properties (by Name)] [Methods (by Name)] [Events (by Name)]
Abstract Thread class.
Source position: classesh.inc line 2249
type TThread = class |
||
public |
||
type |
||
TSystemTimes = record |
|
Record for returning processor usage. |
IdleTime: QWord; |
|
Processor idle time. |
UserTime: QWord; |
|
User code execution time. |
KernelTime: QWord; |
|
Kernel (OS) code execution time. |
NiceTime: QWord; |
|
Nice (reduced priority) code execution time. |
end; |
||
protected |
||
procedure Execute; virtual; abstract; |
|
Execute method. Must be overridden in a descendant thread. |
procedure Synchronize(); |
|
Synchronizes the thread by executing the method in the main thread. |
procedure Queue(); |
|
Queue a method for execution in the main thread. |
procedure ForceQueue(); |
|
Always queue a method for execution in the main thread. |
public |
||
constructor Create(); |
|
Creates a new thread. |
destructor Destroy; override; |
|
Destroys the thread object. |
class function CreateAnonymousThread(); |
|
Execute code in an anonymous thread. |
class procedure NameThreadForDebugging(); |
|
Set a thread name. |
class procedure SetReturnValue(); |
|
Set return value of a thread. |
class function CheckTerminated; |
|
Check if the current thread has finished executing. |
class procedure RemoveQueuedEvents(); |
|
Remove methods scheduled for execution from queue. |
class procedure SpinWait(); |
|
Prevent thread execution in a spin-wait loop. |
class procedure Sleep(); |
|
Prevent thread execution. |
class procedure Yield; |
|
Yield execution to other threads. |
class function GetSystemTimes(); |
|
Return CPU stats. |
class function GetCPUUsage(); |
||
class function GetTickCount; deprecated ; |
|
Return tick count (32-bit). |
class function GetTickCount64; |
|
Return tick count (64-bit). |
class function ExecuteInThread(); |
|
Execute a method or static procedure in a thread. |
procedure AfterConstruction; override; |
|
Code to be executed after construction but before execute. |
procedure Start; |
|
Starts a thread that was created in a suspended state. |
procedure Resume; deprecated ; |
|
Resumes the thread's execution. Deprecated, see TThread.Start. |
procedure Suspend; deprecated ; |
|
Suspends the thread's execution. |
procedure Terminate; |
|
Signals the thread it should terminate. |
function WaitFor; |
|
Waits for the thread to terminate and returns the exit status. |
class function CurrentIsMain; |
||
property CurrentThread: TThread; [r] |
|
Return current thread instance. |
property ProcessorCount: LongWord; [r] |
|
Return the processor count for this system. |
property IsSingleProcessor: Boolean; [r] |
|
Is the current system single processor or not. |
property FreeOnTerminate: Boolean; [rw] |
|
Indicates whether the thread should free itself when it stops executing. |
property Handle: TThreadID; [r] |
|
Returns the thread handle. |
property ExternalThread: Boolean; [r] |
|
Is the thread instance an external thread ? |
property Priority: TThreadPriority; [rw] |
|
Returns the thread priority. |
property Suspended: Boolean; [rw] |
|
Indicates whether the thread is suspended. |
property Finished: Boolean; [r] |
|
Has the thread finished executing. |
property ThreadID: TThreadID; [r] |
|
Returns the thread ID. |
property OnTerminate: TNotifyEvent; [rw] |
|
Event called when the thread terminates. |
property FatalException: TObject; [r] |
|
Exception that occurred during thread execution. |
end; |
|
Abstract Thread class. |
|
| | ||
TObject |
|
Base class of all classes. |
The TThread class encapsulates the native thread support of the operating system. To create a thread, declare a descendant of the TThread object and override the Execute method. In this method, the tthread's code should be executed. To run a thread, create an instance of the tthread descendant, and call it's execute method.
It is also possible to simply execute a method or static procedure in a thread using the TThread.ExecuteInThread class method.
|
Thread error exception. |
|
|
Execute method. Must be overridden in a descendant thread. |
|
|
Execute a method or static procedure in a thread. |