モジュール基本モジュール

モジュールコロチン

同時実行制御モジュール

参照方法:

1
var coroutine = require('coroutine');

オブジェクト

Lock

オブジェクトをロックします。 Lock参照してください

1
Lock coroutine.Lock;

Semaphore

Semaphoreオブジェクト、 Semaphore参照

1
Semaphore coroutine.Semaphore;

Condition

条件変数オブジェクト。 Condition参照してください。

1
Condition coroutine.Condition;

Event

イベントオブジェクト、 Event参照

1
Event coroutine.Event;

Worker

独立したスレッド作業オブジェクト。 Worker参照してください。

1
Worker coroutine.Worker;

静的機能

start

ファイバーを開始し、ファイバーオブジェクトに戻ります

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

呼び出しパラメーター:

  • func :関数、ファイバーによって実行される関数を指定します
  • args :...、可変パラメーターのシーケンス、このシーケンスはファイバー内の関数に渡されます

戻り結果:

  • Fiber 、ファイバーオブジェクトを返します

parallel

一連の関数を並行して実行し、戻りを待ちます

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

呼び出しパラメーター:

  • funcs :配列、並列実行される関数の配列
  • fibers :整数、同時fibersの数を制限します。デフォルトは-1で、関数と同じ数のファイバーを有効にします。

戻り結果:

  • Array 、関数の実行結果の配列を返します

関数を並列に実行して一連のデータを処理し、返されるのを待ちます

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

呼び出しパラメーター:

  • datas :配列、並列実行されるデータ配列
  • func :関数、並列実行される関数
  • fibers :整数、同時fibersの数を制限します。デフォルトは-1で、データと同じ数のファイバーを有効にします。

戻り結果:

  • Array 、関数の実行結果の配列を返します

関数を複数回並行して実行し、戻りを待つ

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

呼び出しパラメーター:

  • func :関数、並行して実行される関数の数
  • num :整数、繰り返されるタスクの数
  • fibers :整数、同時fibersの数を制限します。デフォルトは-1で、関数と同じ数のファイバーを有効にします。

戻り結果:

  • Array 、関数の実行結果の配列を返します

一連の関数を並行して実行し、戻りを待ちます

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

呼び出しパラメーター:

  • funcs :...、並行して実行される一連の関数

戻り結果:

  • Array 、関数の実行結果の配列を返します

current

現在のファイバーを返します

1
static Fiber coroutine.current();

戻り結果:

  • Fiber 、現在のファイバーオブジェクト

sleep

現在のファイバーで指定された時間を一時停止します

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

呼び出しパラメーター:

  • ms :整数、一時停止する時間をミリ秒単位で指定します。デフォルトは0です。つまり、空きがある場合はすぐに実行を再開します。

静的プロパティ

fibers

Array、現在実行中のすべてのファイバーアレイを返します

1
static readonly Array coroutine.fibers;

spareFibers

アイドル状態のFiberの数を整数、照会、および設定します。サーバーのジッタが大きい場合は、アイドル状態のFiberの数を適切に増やすことができます。デフォルトは256です

1
static Integer coroutine.spareFibers;

vmid

整数、現在のvm番号を照会

1
static readonly Integer coroutine.vmid;

loglevel

このvm出力レベルを整数、変更、およびクエリして、出力情報をフィルタリングしますconsole.NOTSETデフォルトはconsole.NOTSET 、すべての出力

1
static Integer coroutine.loglevel;