Sign in Join
FPDoc Onlineexperiment

TThread.Queue procedure

Member of TThreadprotectedIn unit Classes

Queue a method for execution in the main thread.

Declaration

pascal
procedure Queue(aMethod: TThreadMethod)
class procedure Queue(aThread: TThread; aMethod: TThreadMethod); static

Description

Queue schedules a method aMethod for execution in the main thread. In difference with Synchronize, Queue just posts the method for execution in a queue, and does not wait for it to be executed, so this call returns at once.

If the call is made in the main thread, the method is not put on the queue, but is executed at once.

In the class procedure overloaded version of this call, the thread for which the method must be posted is the first argument. In the protected version of this call (used in the tthread instance), this argument is not there, and the thread instance is used.

When a thread object is destroyed (after it has finished executing) all its queued calls are removed from the queue list.

See also

An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.