Modul Basismodul

Modul Coroutine

Parallelitätskontrollmodul

Referenzmethode:

1
var coroutine = require('coroutine');

Objekt

Lock

Objekt sperren, siehe Lock

1
Lock coroutine.Lock;

Semaphore

Semaphore , siehe Semaphore

1
Semaphore coroutine.Semaphore;

Condition

Bedingungsvariablenobjekt, siehe Condition

1
Condition coroutine.Condition;

Event

Ereignisobjekt, siehe Event

1
Event coroutine.Event;

Worker

Unabhängiges Thread-Arbeitsobjekt, siehe Worker

1
Worker coroutine.Worker;

Statische Funktion

start

Starten Sie eine Faser und geben Sie ein Faserobjekt zurück

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

Parameter aufrufen:

  • func : Funktion, geben Sie die Funktion für die Faserausführung an
  • args : ..., eine Folge variabler Parameter, diese Folge wird an die Funktion in der Faser übergeben

Gibt das Ergebnis zurück:

  • Fiber , gibt ein Faserobjekt zurück

parallel

Führen Sie eine Reihe von Funktionen parallel aus und warten Sie auf die Rückkehr

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

Parameter aufrufen:

  • funcs : Array, ein Array von Funktionen, die parallel ausgeführt werden
  • fibers : Ganzzahlig, begrenzen Sie die Anzahl der gleichzeitigen fibers , Standard ist -1, aktivieren Sie die gleiche Anzahl von Fasern wie funcs

Gibt das Ergebnis zurück:

  • Array , gibt das Array der Ergebnisse der Funktionsausführung zurück

Führen Sie eine Funktion parallel aus, um einen Datensatz zu verarbeiten, und warten Sie auf die Rückgabe

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

Parameter aufrufen:

  • datas : das Array ein Array von parallelen Ausführung von Daten
  • func : Funktion, eine Funktion, die parallel ausgeführt wird
  • fibers : Ganzzahlig, begrenzen Sie die Anzahl der gleichzeitigen fibers , Standard ist -1, aktivieren Sie die gleiche Anzahl von Fasern wie Daten

Gibt das Ergebnis zurück:

  • Array , gibt das Array der Ergebnisse der Funktionsausführung zurück

Führen Sie eine Funktion mehrmals parallel aus und warten Sie auf die Rückgabe

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

Parameter aufrufen:

  • func : Funktion, Anzahl der parallel ausgeführten Funktionen
  • num : Integer, Anzahl sich wiederholender Aufgaben
  • fibers : Ganzzahlig, begrenzen Sie die Anzahl der gleichzeitigen fibers , Standard ist -1, aktivieren Sie die gleiche Anzahl von Fasern wie funcs

Gibt das Ergebnis zurück:

  • Array , gibt das Array der Ergebnisse der Funktionsausführung zurück

Führen Sie eine Reihe von Funktionen parallel aus und warten Sie auf die Rückkehr

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

Parameter aufrufen:

  • funcs : ..., eine Reihe von Funktionen, die parallel ausgeführt werden

Gibt das Ergebnis zurück:

  • Array , gibt das Array der Ergebnisse der Funktionsausführung zurück

current

Gibt die aktuelle Faser zurück

1
static Fiber coroutine.current();

Gibt das Ergebnis zurück:

  • Fiber , das aktuelle Faserobjekt

sleep

Unterbrechen Sie die aktuell angegebene Glasfaserzeit

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

Parameter aufrufen:

  • ms : Ganzzahl, geben Sie die Zeit zum Anhalten an. In Millisekunden ist der Standardwert 0, dh, um sofort fortzufahren, wenn Leerlauf vorhanden ist

Statische Eigenschaft

fibers

Array, gibt alle aktuell ausgeführten Glasfaser-Arrays zurück

1
static readonly Array coroutine.fibers;

spareFibers

Integer, Abfrage und stellen Sie die Fiber größere Server können eine bescheidene Zunahme der Leer schütteln Fiber Standard ist 256

1
static Integer coroutine.spareFibers;

vmid

Ganzzahl, fragen Sie die aktuelle vm Nummer ab

1
static readonly Integer coroutine.vmid;

loglevel

Ganzzahlig, modifiziere und vm den Ausgabepegel dieser vm , um die vm zu filtern. Der Standardwert ist console.NOTSET , alle Ausgaben

1
static Integer coroutine.loglevel;