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, parallel ausgeführtes Daten-Array
  • 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 Pausenzeit in Millisekunden an, der Standardwert ist 0, d. h., es wird sofort fortgesetzt, wenn es frei ist

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 FiberMenge. Der Standardwert ist 256

1
static Integer coroutine.spareFibers;

vmid

Integer, Abfrage aktuell vm Nummerierung

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;