Modul Grundmodul

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 kehren Sie zum Faserobjekt zurück

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

Parameter aufrufen:

  • func : Funktion, gibt die von der Faser ausgeführte Funktion an
  • args : ..., eine Folge von variablen Parametern, diese Folge wird an die Funktion in der Faser übergeben

Ergebnis zurückgeben:

  • Fiber , gibt das 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, Array von Funktionen, die parallel ausgeführt werden
  • fibers : Ganzzahlig, begrenzen Sie die Anzahl der gleichzeitigen fibers , der Standardwert ist -1, aktivieren Sie die gleiche Anzahl von Fasern wie funcs

Ergebnis zurückgeben:

  • Array , gibt ein Array mit Ergebnissen 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 : Array, Datenarray für die parallele Ausführung
  • func : Funktion, Funktion parallel ausgeführt
  • fibers : Ganzzahlig, begrenzen Sie die Anzahl der gleichzeitigen fibers , der Standardwert ist -1, aktivieren Sie die gleiche Anzahl von Fasern wie Daten

Ergebnis zurückgeben:

  • Array , gibt ein Array mit Ergebnissen 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, die Anzahl der parallel ausgeführten Funktionen
  • num : Integer, die Anzahl der wiederholten Aufgaben
  • fibers : Ganzzahlig, begrenzen Sie die Anzahl der gleichzeitigen fibers , der Standardwert ist -1, aktivieren Sie die gleiche Anzahl von Fasern wie funcs

Ergebnis zurückgeben:

  • Array , gibt ein Array mit Ergebnissen 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

Ergebnis zurückgeben:

  • Array , gibt ein Array mit Ergebnissen der Funktionsausführung zurück

current

Gibt die aktuelle Faser zurück

1
static Fiber coroutine.current();

Ergebnis zurückgeben:

  • Fiber , das aktuelle Faserobjekt

sleep

Halten Sie die aktuelle Faser für die angegebene Zeit an

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 er wird sofort wieder ausgeführt, wenn er frei ist

Statische Eigenschaften

fibers

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

1
static readonly Array coroutine.fibers;

spareFibers

Integer, Abfrage und die Anzahl von freien Fiber . Wenn der Server Jitter groß ist, die Anzahl von freien Fiber erhöht entsprechend werden. Der Standardwert ist 256

1
static Integer coroutine.spareFibers;

vmid

Ganzzahl, vm 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;