Modulo modulo base

Modulo coroutine

Modulo di controllo della concorrenza

Metodo di riferimento:

1
var coroutine = require('coroutine');

Oggetto

Lock

Blocca oggetto, vedere Lock

1
Lock coroutine.Lock;

Semaphore

Oggetto Semaphore , vedere Semaphore

1
Semaphore coroutine.Semaphore;

Condition

Oggetto variabile di condizione, vedere Condition

1
Condition coroutine.Condition;

Event

Oggetto evento, vedere Event

1
Event coroutine.Event;

Worker

Oggetto di lavoro thread indipendente, vedere Worker

1
Worker coroutine.Worker;

Funzione statica

start

Inizia una fibra e torna all'oggetto fibra

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

Parametri di chiamata:

  • func : Function, specifica la funzione eseguita dalla fibra
  • args : ..., una sequenza di parametri variabili, questa sequenza verrà passata alla funzione nella fibra

Risultato di ritorno:

  • Fiber , restituisce l'oggetto fibra

parallel

Esegui una serie di funzioni in parallelo e attendi il ritorno

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

Parametri di chiamata:

  • funcs : Array, array di funzioni eseguite in parallelo
  • fibers : numero intero, limita il numero di fibers simultanee, il valore predefinito è -1, abilita lo stesso numero di fibre delle 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 per l'esecuzione parallela
  • func : Funzione, funzione eseguita in parallelo
  • fibers : numero intero, limita il numero di fibers 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

Eseguire una funzione più volte in parallelo e attendere il ritorno

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

Parametri di chiamata:

  • func : Function, il numero di funzioni eseguite in parallelo
  • num : intero, il numero di attività ripetute
  • fibers : numero intero, limita il numero di fibers simultanee, il valore predefinito è -1, abilita lo stesso numero di fibre delle funzioni

Risultato di ritorno:

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

Esegui una serie di funzioni in parallelo e attendi 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'attuale oggetto fibra

sleep

Metti in pausa il tempo specificato dalla fibra corrente

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

Parametri di chiamata:

  • ms : numero intero, specifica il tempo di pausa, in millisecondi, il valore predefinito è 0, ovvero se c'è tempo libero riprenderà immediatamente il funzionamento

Proprietà statiche

fibers

Array, restituisce tutti gli array in fibra attualmente in esecuzione

1
static readonly Array coroutine.fibers;

spareFibers

Intero, interroga e imposta il numero di Fiber inattive Quando il jitter del server è elevato, il numero di Fiber inattive può essere aumentato in modo appropriato. L'impostazione predefinita è 256

1
static Integer coroutine.spareFibers;

vmid

Intero, interroga il numero della vm corrente

1
static readonly Integer coroutine.vmid;

loglevel

Intero, modifica e interroga il livello di output di questo vm per filtrare le informazioni di output, il valore predefinito è console.NOTSET , all output

1
static Integer coroutine.loglevel;