En la carga de los recursos... Cargando...

Loop de evento

EleventLoop()La función se utiliza para escuchar los eventos recibidos por el hilo.

EleventLoop()función devuelve la información del evento recibido por el hilo actual.Estructura de la información del evento.

Objeto, valor cero

Loop de acontecimientos EventLoop (tiempo muerto)

El parámetrotimeoutes la configuración de tiempo de espera en milisegundos.timeoutSi el valor de un evento es igual a 0, esperará a que ocurra un evento antes de regresar. Si es mayor que 0, establecerá el tiempo de espera del evento. Si es menor que 0, devolverá el evento más reciente inmediatamente.

tiempo de espera falsos Número

function main() {
    var t1 = threading.Thread(function() {
        while (true) {
            var eventMsg = threading.currentThread().eventLoop()     // Blocking wait
            // 2024-11-14 10:14:18 thread1 eventMsg: {"Seq":1,"Event":"thread","ThreadId":0,"Index":1,"Queue":0,"Nano":1731550458699947000}
            Log(_D(), "thread1 eventMsg:", eventMsg)
        }
    })

    var t2 = threading.Thread(function() {
        while (true) {
            var eventMsg = threading.currentThread().eventLoop(-1)   // Return immediately
            Log(_D(), "thread2 eventMsg:", eventMsg)
            Sleep(5000)
        }
    })

    var t3 = threading.Thread(function() {
        while (true) {
            var eventMsg = threading.currentThread().eventLoop(3000) // Set a 3 second timeout
            Log(_D(), "thread3 eventMsg:", eventMsg)
        }
    })

    t1.postMessage("Hello ", t1.name())
    t2.postMessage("Hello ", t2.name())
    t3.postMessage("Hello ", t3.name())
    t1.join()
    t2.join()
    t3.join()
}

Ejecute tres hilos simultáneamente y saque la información del evento recibida.

El mecanismo de procesamiento de loseventLoop()la función es la misma que la función globalEventLoop().

{@fun/Threads/Thread/peekMessage peekMessage}, {@fun/Threads/Thread/postMessage postMessage}, {@fun/Threads/Thread/join join}, {@fun/Threads/Thread/terminate terminate}, {@fun/Threads/Thread/getData getData}, {@fun/Threads/Thread/setData set}, {@fun/Threads/Thread/id id}, {@fun/Threads/Thread/name name}

nombre Enlace de hilo