Modulo modulo base

Coroutine del modulo

Modulo di controllo della concorrenza

Metodo di riferimento:

1
var coroutine = require('coroutine');

Oggetto

Lock

Blocca oggetto, vedi Lock

1
Lock coroutine.Lock;

Semaphore

Oggetto semaforo, vedi Semaphore

1
Semaphore coroutine.Semaphore;

Condition

Oggetto variabile di condizione, vedere Condition

1
Condition coroutine.Condition;

Event

Oggetto evento, vedi Event

1
Event coroutine.Event;

Worker

Oggetto di lavoro thread indipendente, vedere Worker

1
Worker coroutine.Worker;

Funzione statica

start

Avvia una fibra e torna all'oggetto fibra

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

Parametri di chiamata:

  • func: Funzione, specificare la funzione che deve essere eseguita dalla fibra
  • args: ..., sequenza di parametri variabili, questa sequenza verrà passata alla funzione nella fibra

Risultato di ritorno:

  • Fiber, Restituisci l'oggetto in fibra

parallel

Eseguire un insieme di funzioni in parallelo e attendere il ritorno

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

Parametri di chiamata:

  • funcs: Array, un array di funzioni eseguite in parallelo
  • fibers: Intero, limita il numero di fibre simultanee, il valore predefinito è -1, abilita lo stesso numero di fibre di funzioni

Risultato di ritorno:

  • Array, Restituisce un array di risultati di esecuzione della funzione

Eseguire una funzione in parallelo per elaborare un insieme di dati e attendere il ritorno

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

Parametri di chiamata:

  • datas: Array, array di dati eseguito in parallelo
  • func: Funzione, funzione eseguita in parallelo
  • fibers: Intero, limita il numero di fibre simultanee, il valore predefinito è -1, abilita lo stesso numero di fibre dei dati

Risultato di ritorno:

  • Array, Restituisce un array di risultati di esecuzione della funzione

Esegui una funzione più volte in parallelo e attendi il ritorno

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

Parametri di chiamata:

  • func: Funzione, il numero di funzioni eseguite in parallelo
  • num: Intero, il numero di attività ripetitive
  • fibers: Intero, limita il numero di fibre simultanee, il valore predefinito è -1, abilita lo stesso numero di fibre di funzioni

Risultato di ritorno:

  • Array, Restituisce un array di risultati di esecuzione della funzione

Eseguire un insieme di funzioni in parallelo e attendere il ritorno

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

Parametri di chiamata:

  • funcs: ..., un insieme di funzioni eseguite in parallelo

Risultato di ritorno:

  • Array, Restituisce un array di risultati di esecuzione della funzione

current

Restituisce la fibra corrente

1
static Fiber coroutine.current();

Risultato di ritorno:

  • Fiber, L'oggetto fibra corrente

sleep

Metti in pausa il tempo specificato dalla fibra corrente

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

Parametri di chiamata:

  • ms: Intero, specifica il tempo di pausa, in millisecondi, il valore predefinito è 0, ovvero riprenderà l'esecuzione immediatamente se è libero

Proprietà statiche

fibers

Array, restituisce tutti gli array di fibre attualmente in esecuzione

1
static readonly Array coroutine.fibers;

spareFibers

Intero, interroga e imposta inattivo Fiber Numero, l'inattività può essere moderatamente aumentata quando il jitter del server è grande FiberQuantità. Il valore predefinito è 256

1
static Integer coroutine.spareFibers;

vmid

Intero, interrogazione corrente vm Numerazione

1
static readonly Integer coroutine.vmid;

loglevel

Intero, modifica e interroga questo vm Il livello di uscita, utilizzato per filtrare le informazioni di uscita, il valore predefinito è console.NOTSET, Tutte le uscite

1
static Integer coroutine.loglevel;