Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
线程安全的 API¶
线程¶
线程是用来平衡各CPU和核心的处理能力.Godot支持多线程, 但不是在整个引擎中.
下面是可以在Godot的不同区域使用多线程的方法列表.
全局作用域¶
Global Scope singletons are all thread-safe. Accessing servers from threads is supported (for RenderingServer and Physics servers, ensure threaded or thread-safe operation is enabled in the project settings!).
这使它们成为在服务器中创建数十万个实例并从线程控制它们的代码的理想选择. 当然, 还需要更多的代码, 因为这是直接使用的而不是嵌入场景树中使用.
场景树¶
与活动场景树的交互是线程 不 安全的. 当在线程之间发送数据时, 请确保使用mutexes. 如果你想从一个线程调用函数, 可以使用 call_deferred 函数:
# Unsafe:
node.add_child(child_node)
# Safe:
node.call_deferred("add_child", child_node)
但是, 可以在激活的场景树外创建场景块(以树形