M MY Multiplayer: Wiki
Lado
Tipo

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

NombreTipoDescripción
funcfunctionFunción que ejecuta el hilo.
keyanyValor 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)

Ver también