Thread

Inherits: Reference < Object

A unit of execution in a process.

Description

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.

Methods

String get_id ( ) const
bool is_active ( ) const
Error start ( Object instance, StringName method, Variant userdata=null, Priority priority=1 )
Variant wait_to_finish ( )

Enumerations

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.