mirror of
https://github.com/godotengine/godot.git
synced 2024-12-15 10:12:40 +08:00
7adf4cc9b5
For the time being we don't support writing a description for those, preferring having all details in the method's description. Using self-closing tags saves half the lines, and prevents contributors from thinking that they should write the argument or return documentation there.
58 lines
2.8 KiB
XML
58 lines
2.8 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="Thread" inherits="RefCounted" version="4.0">
|
|
<brief_description>
|
|
A unit of execution in a process.
|
|
</brief_description>
|
|
<description>
|
|
A unit of execution in a process. Can run methods on [Object]s simultaneously. The use of synchronization via [Mutex] or [Semaphore] is advised if working with shared objects.
|
|
[b]Note:[/b] Breakpoints won't break on code if it's running in a thread. This is a current limitation of the GDScript debugger.
|
|
</description>
|
|
<tutorials>
|
|
<link title="Using multiple threads">https://docs.godotengine.org/en/latest/tutorials/threads/using_multiple_threads.html</link>
|
|
<link title="Thread-safe APIs">https://docs.godotengine.org/en/latest/tutorials/threads/thread_safe_apis.html</link>
|
|
<link title="3D Voxel Demo">https://godotengine.org/asset-library/asset/676</link>
|
|
</tutorials>
|
|
<methods>
|
|
<method name="get_id" qualifiers="const">
|
|
<return type="String" />
|
|
<description>
|
|
Returns the current [Thread]'s ID, uniquely identifying it among all threads. If the [Thread] is not running this returns an empty string.
|
|
</description>
|
|
</method>
|
|
<method name="is_active" qualifiers="const">
|
|
<return type="bool" />
|
|
<description>
|
|
Returns [code]true[/code] if this [Thread] is currently active. An active [Thread] cannot start work on a new method but can be joined with [method wait_to_finish].
|
|
</description>
|
|
</method>
|
|
<method name="start">
|
|
<return type="int" enum="Error" />
|
|
<argument index="0" name="instance" type="Object" />
|
|
<argument index="1" name="method" type="StringName" />
|
|
<argument index="2" name="userdata" type="Variant" default="null" />
|
|
<argument index="3" name="priority" type="int" enum="Thread.Priority" default="1" />
|
|
<description>
|
|
Starts a new [Thread] that runs [code]method[/code] on object [code]instance[/code] with [code]userdata[/code] passed as an argument. Even if no userdata is passed, [code]method[/code] must accept one argument and it will be null. The [code]priority[/code] of the [Thread] can be changed by passing a value from the [enum Priority] enum.
|
|
Returns [constant OK] on success, or [constant ERR_CANT_CREATE] on failure.
|
|
</description>
|
|
</method>
|
|
<method name="wait_to_finish">
|
|
<return type="Variant" />
|
|
<description>
|
|
Joins the [Thread] and waits for it to finish. Returns what the method called returned.
|
|
</description>
|
|
</method>
|
|
</methods>
|
|
<constants>
|
|
<constant name="PRIORITY_LOW" value="0" enum="Priority">
|
|
A thread running with lower priority than normally.
|
|
</constant>
|
|
<constant name="PRIORITY_NORMAL" value="1" enum="Priority">
|
|
A thread with a standard priority.
|
|
</constant>
|
|
<constant name="PRIORITY_HIGH" value="2" enum="Priority">
|
|
A thread running with higher priority than normally.
|
|
</constant>
|
|
</constants>
|
|
</class>
|