Módulo módulo básico

Corutina del módulo

Módulo de control de simultaneidad

Método de referencia:

1
var coroutine = require('coroutine');

Objeto

Lock

Bloquear objeto, ver Lock

1
Lock coroutine.Lock;

Semaphore

Objeto semáforo, ver Semaphore

1
Semaphore coroutine.Semaphore;

Condition

Objeto de variable de condición, consulte 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 vuelva al objeto de fibra

1 2
static 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 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, 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 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, 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 3
static 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

1
static 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

1
static Fiber coroutine.current();

Devolver resultado:

  • Fiber, El objeto de fibra actual

sleep

Pausar el tiempo especificado por la fibra actual

1
static 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

1
static 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

1
static Integer coroutine.spareFibers;

vmid

Entero, consulta actual vm número de serie

1
static 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

1
static Integer coroutine.loglevel;