Corutina del módulo
Módulo de control de simultaneidad
Método de referencia:
1var coroutine = require('coroutine');
Objeto
Lock
Bloquear objeto, ver Lock
1Lock coroutine.Lock;
Semaphore
Objeto semáforo, ver Semaphore
1Semaphore coroutine.Semaphore;
Condition
Objeto de variable de condición, consulte Condition
1Condition coroutine.Condition;
Event
Objeto de evento, ver Event
1Event coroutine.Event;
Worker
Objeto de trabajo de hilo independiente, ver Worker
1Worker coroutine.Worker;
Función estática
start
Inicie una fibra y vuelva al objeto de fibra
1
2static Fiber coroutine.start(Function func,
...args);
Parámetros de llamada:
- func: Función, especifique la función que ejecutará la fibra.
- args: ..., secuencia de parámetros variables, esta secuencia se pasará a la función en la fibra
Devolver resultado:
- Fiber, Devolver objeto de fibra
parallel
Ejecuta un conjunto de funciones en paralelo y espera el retorno
1
2static Array coroutine.parallel(Array funcs,
Integer fibers = -1);
Parámetros de llamada:
- funcs: Array, una matriz de funciones ejecutadas en paralelo
- fibers: Entero, limita el número de fibras concurrentes, el valor predeterminado es -1, habilita el mismo número de fibras que funciones
Devolver resultado:
- Array, Devuelve una matriz de resultados de ejecución de funciones.
Ejecuta una función en paralelo para procesar un conjunto de datos y espera la devolución
1
2
3static Array coroutine.parallel(Array datas,
Function func,
Integer fibers = -1);
Parámetros de llamada:
- datas: Matriz, matriz de datos para ejecución paralela
- func: Función, función ejecutada en paralelo
- fibers: Entero, limita el número de fibras concurrentes, el valor predeterminado es -1, habilita el mismo número de fibras que los datos
Devolver resultado:
- Array, Devuelve una matriz de resultados de ejecución de funciones.
Ejecute una función varias veces en paralelo y espere el retorno
1
2
3static Array coroutine.parallel(Function func,
Integer num,
Integer fibers = -1);
Parámetros de llamada:
- func: Función, el número de funciones ejecutadas en paralelo
- num: Entero, el número de tareas repetitivas
- fibers: Entero, limita el número de fibras concurrentes, el valor predeterminado es -1, habilita el mismo número de fibras que funciones
Devolver resultado:
- Array, Devuelve una matriz de resultados de ejecución de funciones.
Ejecuta un conjunto de funciones en paralelo y espera el retorno
1static Array coroutine.parallel(...funcs);
Parámetros de llamada:
- funcs: ..., un conjunto de funciones ejecutadas en paralelo
Devolver resultado:
- Array, Devuelve una matriz de resultados de ejecución de funciones.
current
Devuelve la fibra actual
1static Fiber coroutine.current();
Devolver resultado:
- Fiber, El objeto de fibra actual
sleep
Pausar el tiempo especificado por la fibra actual
1static coroutine.sleep(Integer ms = 0) async;
Parámetros de llamada:
- ms: Entero, especifica el tiempo a suspenderse, en milisegundos, el valor predeterminado es 0, es decir, si hay tiempo libre, reanudará la operación inmediatamente
Propiedades estáticas
fibers
Array, devuelve todos los arreglos de fibra que se están ejecutando actualmente
1static readonly Array coroutine.fibers;
spareFibers
Entero, consulta y puesto inactivo Fiber Número, la inactividad se puede aumentar moderadamente cuando la fluctuación del servidor es grande Fibercantidad. El valor predeterminado es 256
1static Integer coroutine.spareFibers;
vmid
Entero, consulta actual vm número de serie
1static readonly Integer coroutine.vmid;
loglevel
Entero, modificar y consultar esto vm El nivel de salida, utilizado para filtrar la información de salida, el valor predeterminado es console.NOTSET, Toda la salida
1static Integer coroutine.loglevel;