Módulo módulo básico

Coroutina do módulo

Módulo de control de simultaneidade

Método de referencia:

1
var coroutine = require('coroutine');

Obxecto

Lock

Obxecto de bloqueo, ver Lock

1
Lock coroutine.Lock;

Semaphore

Obxecto semáforo, ver Semaphore

1
Semaphore coroutine.Semaphore;

Condition

Obxecto variable de condición, ver Condition

1
Condition coroutine.Condition;

Event

Obxecto do evento, ver Event

1
Event coroutine.Event;

Worker

Obxecto de traballo de fío independente, ver Worker

1
Worker coroutine.Worker;

Función estática

start

Inicie unha fibra e volva ao obxecto de fibra

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

Parámetros de chamada:

  • func: Función, especifique a función que debe executar a fibra
  • args: ..., secuencia de parámetros variables, esta secuencia pasarase á función na fibra

Resultado de volta:

  • Fiber, Devolve o obxecto de fibra

parallel

Executa un conxunto de funcións en paralelo e agarda a volta

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

Parámetros de chamada:

  • funcs: Array, unha matriz de funcións executadas en paralelo
  • fibers: Enteiro, limita o número de fibras simultáneas, o predeterminado é -1, activa o mesmo número de fibras que as funcións

Resultado de volta:

  • Array, Devolve unha matriz de resultados de execución de funcións

Executa unha función en paralelo para procesar un conxunto de datos e agarda a devolución

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

Parámetros de chamada:

  • datas: Matriz, matriz de datos executada en paralelo
  • func: Función, función executada en paralelo
  • fibers: Enteiro, limita o número de fibras simultáneas, o predeterminado é -1, activa o mesmo número de fibras que os datos

Resultado de volta:

  • Array, Devolve unha matriz de resultados de execución de funcións

Execute unha función varias veces en paralelo e agarde a volta

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 executadas en paralelo
  • num: Enteiro, o número de tarefas repetitivas
  • fibers: Enteiro, limita o número de fibras simultáneas, o predeterminado é -1, activa o mesmo número de fibras que as funcións

Resultado de volta:

  • Array, Devolve unha matriz de resultados de execución de funcións

Executa un conxunto de funcións en paralelo e agarda a volta

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

Parámetros de chamada:

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

Resultado de volta:

  • Array, Devolve unha matriz de resultados de execución de funcións

current

Devolve a fibra actual

1
static Fiber coroutine.current();

Resultado de volta:

  • Fiber, O obxecto actual de fibra

sleep

Pause o tempo especificado pola fibra actual

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

Parámetros de chamada:

  • ms: Enteiro, especifique o tempo para pausar, en milisegundos, o valor predeterminado é 0, é dicir, retomarase a executarse inmediatamente se é gratuíto

Propiedades estáticas

fibers

Matriz, devolve todas as matrices de fibra que están en execución

1
static readonly Array coroutine.fibers;

spareFibers

Entero, consulta e inactivo Fiber Número, a ociosidade pode aumentar moderadamente cando a fluctuación do servidor é grande FiberCantidade. O valor predeterminado é 256

1
static Integer coroutine.spareFibers;

vmid

Entero, consulta actual vm Numeración

1
static readonly Integer coroutine.vmid;

loglevel

Entero, modifícao e consulta isto vm O nivel de saída, usado para filtrar a información de saída, é o predeterminado console.NOTSET, Todas as saídas

1
static Integer coroutine.loglevel;