Modul Basismodul

Modulkoroutine

Parallelitätskontrollmodul

Referenzmethode:

1
var coroutine = require('coroutine');

Objekt

Lock

Objekt sperren, siehe Lock

1
Lock coroutine.Lock;

Semaphore

Semaphor-Objekt, 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);

Aufrufparameter:

  • func: Funktion, spezifizieren Sie die Funktion, die von der Faser ausgeführt werden soll
  • args: ..., variable Parametersequenz, diese Sequenz wird an die Funktion in der Faser übergeben

Ergebnis zurückgeben:

  • Fiber, Faserobjekt zurückgeben

parallel

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

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

Aufrufparameter:

  • funcs: Array, ein Array von parallel ausgeführten Funktionen
  • fibers: Integer, begrenzen Sie die Anzahl gleichzeitiger Fasern, der Standardwert ist -1, aktivieren Sie die gleiche Anzahl von Fasern wie funcs

Ergebnis zurückgeben:

  • Array, Gibt ein Array von Funktionsausführungsergebnissen 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);

Aufrufparameter:

  • datas: Array, Datenarray für parallele Ausführung
  • func: Funktion, parallel ausgeführte Funktion
  • fibers: Integer, begrenzen Sie die Anzahl gleichzeitiger Fasern, der Standardwert ist -1, aktivieren Sie die gleiche Anzahl von Fasern wie Daten

Ergebnis zurückgeben:

  • Array, Gibt ein Array von Funktionsausführungsergebnissen 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);

Aufrufparameter:

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

Ergebnis zurückgeben:

  • Array, Gibt ein Array von Funktionsausführungsergebnissen zurück

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

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

Aufrufparameter:

  • funcs: ..., eine Reihe von parallel ausgeführten Funktionen

Ergebnis zurückgeben:

  • Array, Gibt ein Array von Funktionsausführungsergebnissen zurück

current

Gibt die aktuelle Faser zurück

1
static Fiber coroutine.current();

Ergebnis zurückgeben:

  • Fiber, Das aktuelle Faserobjekt

sleep

Pausieren Sie die von der aktuellen Faser angegebene Zeit

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

Aufrufparameter:

  • ms: Ganzzahl, geben Sie die anzuhaltende Zeit in Millisekunden an, der Standardwert ist 0, d. h., wenn freie Zeit vorhanden ist, wird der Betrieb sofort wieder aufgenommen

Statische Eigenschaften

fibers

Array, gibt alle derzeit laufenden Glasfaser-Arrays zurück

1
static readonly Array coroutine.fibers;

spareFibers

Integer, Abfrage und Leerlauf setzen Fiber Nummer, die Inaktivität kann moderat erhöht werden, wenn der Server-Jitter groß ist FiberAnzahl. Der Standardwert ist 256

1
static Integer coroutine.spareFibers;

vmid

Integer, Abfrage aktuell vm Seriennummer

1
static readonly Integer coroutine.vmid;

loglevel

Integer, ändern und abfragen vm Der Ausgangspegel, der zum Filtern der Ausgangsinformationen verwendet wird, ist standardmäßig console.NOTSET, Alle Ausgaben

1
static Integer coroutine.loglevel;