Módulo base del módulo

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

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 en la fibra

Devuelve el resultado:

  • Fiber , devuelve un 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, un 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

Devuelve el resultado:

  • Array , devuelve la 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 : Function, una función que se ejecuta en paralelo
  • fibers : entero, limita el número de fibers concurrentes, el valor predeterminado es -1, habilita el mismo número de fibras que los datos

Devuelve el resultado:

  • Array , devuelve la 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, limite el número de fibers concurrentes, el valor predeterminado es -1, habilite el mismo número de fibras que las funciones

Devuelve el resultado:

  • Array , devuelve la 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 la 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 especificado de fibra actual

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 hay inactividad

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 Cuando la fluctuación de fase del servidor es grande, se puede aumentar el número de Fiber inactivas. 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 .

1
static Integer coroutine.loglevel;