You are reading the latest (unstable) version of this documentation, which may document features not available or compatible with Godot 3.x.

Work in progress

Godot documentation is being updated to reflect the latest changes in version 4.0. Some documentation pages may still state outdated information. This banner will tell you if you're reading one of such pages.

The contents of this page are up to date. If you can still find outdated information, please open an issue.


Inherits: RefCounted < Object

A synchronization semaphore.


A synchronization semaphore which can be used to synchronize multiple Threads. Initialized to zero on creation. Be careful to avoid deadlocks. For a binary version, see Mutex.




post ( )


try_wait ( )


wait ( )

Method Descriptions

void post ( )

Lowers the Semaphore, allowing one more thread in.

bool try_wait ( )

Like wait, but won't block, so if the value is zero, fails immediately and returns false. If non-zero, it returns true to report success.

void wait ( )

Waits for the Semaphore, if its value is zero, blocks until non-zero.