Módulo base módulo

corrutina do módulo

Módulo de control de concorrencia

Método de referencia:

1
var coroutine = require('coroutine');

obxecto

Lock

bloquear obxecto, verLock

1
Lock coroutine.Lock;

Semaphore

obxecto semáforo, véxSemaphore

1
Semaphore coroutine.Semaphore;

Condition

obxecto variable de condición, véxCondition

1
Condition coroutine.Condition;

Event

obxecto do evento, véxEvent

1
Event coroutine.Event;

Worker

obxecto de traballador de fío independente, véxaseWorker

1
Worker coroutine.Worker;

función estática

start

Iniciar unha fibra e devolver o obxecto de fibra

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

Parámetros de chamada:

  • func: Función, especifica a función que executará a fibra
  • args: ..., unha secuencia de argumentos variádicos que se pasarán á función dentro da fibra

Devolver resultado:

  • Fiber, devolve o obxecto de fibra

parallel

Executar un conxunto de funcións en paralelo e esperar o retorno

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

Parámetros de chamada:

  • funcs: Array, matriz de funcións para executar en paralelo
  • fibers: Número enteiro, limita o número de fibras concorrentes, o valor predeterminado é -1, activa o mesmo número de fibras que o número de funcións

Devolver resultado:

  • Array, devolve unha matriz do resultado da execución da función

Executar unha función en paralelo para procesar un conxunto de datos e esperar a devolución

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

Parámetros de chamada:

  • datas: Array, matriz de datos para executar en paralelo
  • func: Función, función a executar en paralelo
  • fibers: Número enteiro, limita o número de fibras concorrentes, o valor predeterminado é -1, activa o mesmo número de fibras que os datos

Devolver resultado:

  • Array, devolve unha matriz do resultado da execución da función

Executar unha función varias veces en paralelo e esperar o retorno

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

Parámetros de chamada:

  • func: Función, o número de funcións a executar en paralelo
  • num: Número enteiro, número de tarefas repetidas
  • fibers: Número enteiro, limita o número de fibras concorrentes, o valor predeterminado é -1, activa o mesmo número de fibras que o número de funcións

Devolver resultado:

  • Array, devolve unha matriz do resultado da execución da función

Executar un conxunto de funcións en paralelo e esperar o retorno

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

Parámetros de chamada:

  • funcs: ..., un conxunto de funcións para executar en paralelo

Devolver resultado:

  • Array, devolve unha matriz do resultado da execución da función

current

Devolve a fibra actual

1
static Fiber coroutine.current();

Devolver resultado:

  • Fiber, o obxecto de fibra actual

sleep

Pausa a fibra actual durante o tempo especificado

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

Parámetros de chamada:

  • ms: Número enteiro, especifique o tempo de pausa, en milisegundos, o valor predeterminado é 0, é dicir, se hai tempo de inactividade, reanudarase a execución inmediatamente

propiedades estáticas

fibers

Matriz, devolve unha matriz de todas as fibras en execución

1
static readonly Array coroutine.fibers;

spareFibers

Enteiro, consulta e establece o estado inactivoFiberO número de servidores inactivos pódese aumentar moderadamente cando a fluctuación do servidor é grandeFibercantidade. O valor predeterminado é 256

1
static Integer coroutine.spareFibers;

vmid

Enteiro, consulta actualvmNumeración

1
static readonly Integer coroutine.vmid;

loglevel

Enteiro, modifica e consulta istovmO nivel de saída usado para filtrar a información de saída, o predeterminado éconsole.NOTSET, toda a saída

1
static Integer coroutine.loglevel;