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...
Semaphore
Hereda: RefCounted < Object
Un mecanismo de sincronización utilizado para controlar el acceso a un recurso compartido por Threads.
Descripción
Un semáforo de sincronización que se puede utilizar para sincronizar múltiples Threads. Inicializado a cero en la creación. Para una versión binaria, véase Mutex.
Advertencia: Los semáforos deben utilizarse con cuidado para evitar interbloqueos.
Advertencia: Para garantizar que el sistema operativo pueda realizar una limpieza adecuada (sin bloqueos, sin interbloqueos), se deben cumplir estas condiciones:
Cuando el recuento de referencias de un Semaphore llega a cero y, por lo tanto, se destruye, ningún hilo debe estar esperando en él.
Cuando el recuento de referencias de un Thread llega a cero y, por lo tanto, se destruye, no debe estar esperando en ningún semáforo.
Tutoriales
Métodos
void |
|
try_wait() |
|
void |
wait() |
Descripciones de Métodos
Reduce el Semaphore, permitiendo la entrada a un hilo, o más si se especifica count.
Como wait(), pero no se bloqueará, por lo que si el valor es cero, falla inmediatamente y devuelve false. Si no es cero, devuelve true para indicar éxito.
void wait() 🔗
Espera al Semaphore, si su valor es cero, se bloquea hasta que no sea cero.