モジュールコルーチン
同時実行制御モジュール
参照方法:
1var coroutine = require('coroutine');
物体
Lock
オブジェクトをロックします。を参照してください。 Lock
1Lock coroutine.Lock;
Semaphore
セマフォオブジェクト、を参照 Semaphore
1Semaphore coroutine.Semaphore;
Condition
条件変数オブジェクト。を参照してください。 Condition
1Condition coroutine.Condition;
Event
イベントオブジェクト、を参照してください Event
1Event coroutine.Event;
Worker
独立したスレッド作業オブジェクト。を参照してください。 Worker
1Worker coroutine.Worker;
静的関数
start
ファイバーを開始し、ファイバーオブジェクトに戻ります
1
2static Fiber coroutine.start(Function func,
...args);
呼び出しパラメーター:
- func:機能、ファイバーで実行する機能を指定します
- args:...、可変パラメータシーケンス、このシーケンスはファイバー内の関数に渡されます
戻り結果:
- Fiber、ファイバーオブジェクトを返す
parallel
一連の関数を並行して実行し、戻りを待ちます
1
2static Array coroutine.parallel(Array funcs,
Integer fibers = -1);
呼び出しパラメーター:
- funcs:配列、並列実行される関数の配列
- fibers:整数、同時ファイバーの数を制限します。デフォルトは-1で、funcsと同じ数のファイバーを有効にします。
戻り結果:
- Array、関数の実行結果の配列を返します
関数を並列に実行して一連のデータを処理し、返されるのを待ちます
1
2
3static Array coroutine.parallel(Array datas,
Function func,
Integer fibers = -1);
呼び出しパラメーター:
- datas:配列、並列実行用のデータ配列
- func:関数、並列実行される関数
- fibers:整数、同時ファイバーの数を制限します。デフォルトは-1で、データと同じ数のファイバーを有効にします。
戻り結果:
- Array、関数の実行結果の配列を返します
関数を複数回並行して実行し、戻りを待ちます
1
2
3static Array coroutine.parallel(Function func,
Integer num,
Integer fibers = -1);
呼び出しパラメーター:
- func:関数、並行して実行される関数の数
- num:整数、反復タスクの数
- fibers:整数、同時ファイバーの数を制限します。デフォルトは-1で、funcsと同じ数のファイバーを有効にします。
戻り結果:
- Array、関数の実行結果の配列を返します
一連の関数を並行して実行し、戻りを待ちます
1static Array coroutine.parallel(...funcs);
呼び出しパラメーター:
- funcs:...、並行して実行される一連の関数
戻り結果:
- Array、関数の実行結果の配列を返します
current
現在のファイバーを返します
1static Fiber coroutine.current();
戻り結果:
- Fiber、現在のファイバーオブジェクト
sleep
現在のファイバーで指定された時間を一時停止します
1static coroutine.sleep(Integer ms = 0) async;
呼び出しパラメーター:
- ms:整数、一時停止する時間をミリ秒単位で指定します。デフォルトは0です。つまり、空き時間がある場合は、すぐに操作を再開します。
静的プロパティ
fibers
配列、現在実行中のすべてのファイバー配列を返します
1static readonly Array coroutine.fibers;
spareFibers
整数、クエリ、アイドル設定 Fiber 数、サーバーのジッターが大きい場合、アイドル状態は適度に増加する可能性があります Fiber量。デフォルトは256です
1static Integer coroutine.spareFibers;
vmid
整数、現在のクエリ vm シリアルナンバー
1static readonly Integer coroutine.vmid;
loglevel
これを整数、変更、クエリします vm 出力情報をフィルタリングするために使用される出力レベル。デフォルトは console.NOTSET、すべての出力
1static Integer coroutine.loglevel;