async.mutex
Compartido
Ejecuta una función en un hilo async nuevo, como async.thread, pero no empieza mientras otro hilo iniciado desde la misma línea del código, con la misma key, siga en marcha.
any async.mutex(function func [, any key = nil])
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| func | function | Función que ejecuta el hilo. |
| key | any | Valor que separa los bloqueos de la misma línea, como un jugador. Se convierte en texto como hace tostring.por defecto nil |
Retorno
El hilo, o false si un hilo de la misma línea y la misma key aún no terminó.
Ejemplo
addCommandHandler("save", function(player)
local started = async.mutex(function()
async.wait(2000)
outputDebugString(getPlayerName(player) .. " guardó")
end, player)
if not started then
outputDebugString(getPlayerName(player) .. " ya está guardando")
end
end)