Thread
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.
Note: Breakpoints won’t break on code if it’s running in a thread. This is a current limitation of the GDScript debugger.
Tutorials
Methods
String | get_id ( ) const |
bool | is_active ( ) const |
Error | start ( Object instance, String 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
- String get_id ( ) const
Returns the current Thread
‘s ID, uniquely identifying it among all threads. If the Thread
is not running this returns an empty string.
- 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. Even if no userdata is passed, method
must accept one argument and it will be null. 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.
- Variant wait_to_finish ( )
Joins the Thread
and waits for it to finish. Returns what the method called returned.