Módulo base del módulo

Módulo de corutina

Módulo de control de concurrencia

Método de referencia:

1
var coroutine = require('coroutine');

Objeto

Lock

Bloquear objeto, ver Lock

1
Lock coroutine.Lock;

Semaphore

Objetos de Semaphore , ver Semaphore

1
Semaphore coroutine.Semaphore;

Condition

Condición objeto variable, ver Condition

1
Condition coroutine.Condition;

Event

Objeto de evento, ver Event

1
Event coroutine.Event;

Worker

Objeto de trabajo de hilo independiente, ver Worker

1
Worker coroutine.Worker;

Función estática

start

Iniciar una fibra y devolver un objeto de fibra

1 2
static Fiber coroutine.start(Function func, ...args);

Parámetros de llamada:

  • func : Function, especifica la función para la ejecución de fibra
  • args : ..., una secuencia de parámetros variables, esta secuencia se pasará a la función

Devuelve el resultado:

  • Fiber , devuelve el objeto de fibra

parallel

Ejecute un conjunto de funciones en paralelo y espere el retorno

1 2
static Array coroutine.parallel(Array funcs, Integer fibers = -1);

Parámetros de llamada:

  • funcs : Array, una matriz de funciones ejecutadas en paralelo
  • fibers : entero, que limita el número de fibers concurrentes

Devuelve el resultado:

  • Array , devuelve una matriz de resultados de ejecución de funciones

Ejecute una función en paralelo para procesar un conjunto de datos y espere el retorno

1 2 3
static Array coroutine.parallel(Array datas, Function func, Integer fibers = -1);

Parámetros de llamada:

  • datas : matriz, matrices de datos para ejecución paralela
  • func : función
  • fibers : entero, que limita el número de fibers concurrentes

Devuelve el 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 3
static Array coroutine.parallel(Function func, Integer num, Integer fibers = -1);

Parámetros de llamada:

  • func : función, número de funciones ejecutadas en paralelo
  • num : número entero, número de tareas repetitivas
  • fibers : entero, que limita el número de fibers concurrentes

Devuelve el resultado:

  • Array , devuelve una matriz de resultados de ejecución de funciones

Ejecute un conjunto de funciones en paralelo y espere el retorno

1
static Array coroutine.parallel(...funcs);

Parámetros de llamada:

  • funcs : ..., un conjunto de funciones ejecutadas en paralelo

Devuelve el resultado:

  • Array , devuelve una matriz de resultados de ejecución de funciones

current

Devuelve la fibra actual

1
static Fiber coroutine.current();

Devuelve el resultado:

  • Fiber , el objeto de fibra actual

sleep

Pausa el tiempo actual de fibra especificado

1
static coroutine.sleep(Integer ms = 0) async;

Parámetros de llamada:

  • ms : entero, especifique el tiempo de pausa, en milisegundos, el valor predeterminado es 0, es decir, para reanudar inmediatamente cuando está inactivo

Propiedad estática

fibers

Array, devuelve todos los arreglos de fibra que se ejecutan actualmente

1
static readonly Array coroutine.fibers;

spareFibers

Integer, consultar y establecer el número de Fiber inactivas, y aumentar el número de Fiber inactivas moderadamente cuando el jitter del servidor es grande. El valor predeterminado es 256

1
static Integer coroutine.spareFibers;

vmid

Entero, consulta el número de vm actual

1
static readonly Integer coroutine.vmid;

loglevel

Integer, modificar y consultar el nivel de salida de este vm para filtrar la información de salida, el valor predeterminado es console.NOTSET , toda la salida

1
static Integer coroutine.loglevel;