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 a ejecutar por 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 ejecutada en paralelo
  • 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: Número 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, 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 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 Numeración

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;