Show: Delphi C++
Display Preferences

System.Classes.TThread.Queue

From XE2 API Documentation
Jump to: navigation, search

Delphi

procedure Queue(AMethod: TThreadMethod); overload;
procedure Queue(AThreadProc: TThreadProcedure); overload;
class procedure Queue(AThread: TThread; AMethod: TThreadMethod); overload; static;
class procedure Queue(AThread: TThread; AThreadProc: TThreadProcedure); overload; static;

C++

void __fastcall Queue(TThreadMethod AMethod)/* overload */;
void __fastcall Queue(_di_TThreadProcedure AThreadProc)/* overload */;
static void __fastcall Queue(TThread* AThread, TThreadMethod AMethod)/* overload */;
static void __fastcall Queue(TThread* AThread, _di_TThreadProcedure AThreadProc)/* overload */;

Contents

Properties

Type Visibility Source Unit Parent
procedure
function
protected
System.Classes.pas
System.Classes.hpp
System.Classes TThread

Description

Asynchronously executes a method call within the main thread.

Queue causes the call specified by AMethod to be executed using the main thread, thereby avoiding multi-thread conflicts. The current thread is passed in the AThread parameter.

If you are unsure whether a method call is thread-safe, call it from within the Synchronize or Queue methods to ensure that it executes in the main thread.

Unlike Synchronize, execution of the current thread is allowed to continue. The main thread will eventually process all queued methods.

Warning: Do not call Queue from within the main thread. This can cause an infinite loop.
Note: You can also protect unsafe methods using critical sections or the multi-read exclusive-write synchronizer.

See Also

Code Examples


Personal tools
Previous Versions
Translations