Inherits: Reference < Object

A unit of execution in a process.


A unit of execution in a process. Can run methods on Objects simultaneously. The use of synchronization via Mutex or Semaphore is advised if working with shared objects.



get_id ( ) const


is_active ( ) const


start ( Object instance, StringName method, Variant userdata=null, Priority priority=1 )


wait_to_finish ( )


enum Priority:

  • PRIORITY_LOW = 0 --- A thread running with lower priority than normally.

  • PRIORITY_NORMAL = 1 --- A thread with a standard priority.

  • PRIORITY_HIGH = 2 --- A thread running with higher priority than normally.

Method Descriptions

Returns the current Thread's ID, uniquely identifying it among all threads.

  • bool is_active ( ) const

Returns true if this Thread is currently active. An active Thread cannot start work on a new method but can be joined with wait_to_finish.

Starts a new Thread that runs method on object instance with userdata passed as an argument. The priority of the Thread can be changed by passing a value from the Priority enum.

Returns @GlobalScope.OK on success, or @GlobalScope.ERR_CANT_CREATE on failure.

Joins the Thread and waits for it to finish. Returns what the method called returned.