Módulo módulo básico

Módulo 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

Objeto 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

Inicie una fibra y regrese al objeto de fibra

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

Parámetros de llamada:

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

Resultado devuelto:

  • Fiber , devuelve el objeto de fibra

parallel

Ejecute un conjunto de funciones en paralelo y espere el regreso

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

Parámetros de llamada:

  • funcs : Array, conjunto de funciones ejecutadas en paralelo
  • fibers : entero, limite el número de fibers concurrentes, el valor predeterminado es -1, habilite el mismo número de fibras que las funciones

Resultado devuelto:

  • 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, matriz de datos para ejecución paralela
  • func : Función, función ejecutada en paralelo
  • fibers : entero, limite el número de fibers concurrentes, el valor predeterminado es -1, habilite el mismo número de fibras que los datos

Resultado devuelto:

  • 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 : Function, el número de funciones ejecutadas en paralelo
  • num : entero, el número de tareas repetidas
  • fibers : entero, limite el número de fibers concurrentes, el valor predeterminado es -1, habilite el mismo número de fibras que las funciones

Resultado devuelto:

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

Ejecute un conjunto de funciones en paralelo y espere el regreso

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

Parámetros de llamada:

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

Resultado devuelto:

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

current

Devuelve la fibra actual

1
static Fiber coroutine.current();

Resultado devuelto:

  • Fiber , el objeto de fibra actual

sleep

Pausa la fibra actual por el tiempo 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, se reanudará inmediatamente si está libre

Propiedades estáticas

fibers

Array, devuelve todos los arreglos de fibra actualmente en ejecución

1
static readonly Array coroutine.fibers;

spareFibers

Integer, consultar y establecer el número de Fiber inactivas Cuando la fluctuación de fase del servidor es grande, el número de Fiber inactivas se puede aumentar adecuadamente. El valor predeterminado es 256

1
static Integer coroutine.spareFibers;

vmid

Entero, consulta el número vm actual

1
static readonly Integer coroutine.vmid;

loglevel

Entero, modifique y consulte 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;