모듈 기본 모듈

모듈 코루틴

동시성 제어 모듈

참조 방법:

1
var coroutine = require('coroutine');

물체

Lock

잠금 개체, 참조 Lock

1
Lock coroutine.Lock;

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: Function, Fiber에서 실행할 기능 지정
  • args: ..., 가변 매개변수 시퀀스, 이 시퀀스는 파이버의 기능에 전달됩니다.

반환 결과:

  • Fiber, 반환 섬유 개체

parallel

일련의 함수를 병렬로 실행하고 반환을 기다립니다.

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

호출 매개변수:

  • funcs: Array, 병렬로 실행되는 함수의 배열
  • fibers: 정수, 동시 광섬유 수를 제한합니다. 기본값은 -1이며, 함수와 동일한 수의 광섬유를 활성화합니다.

반환 결과:

  • Array, 함수 실행 결과의 배열을 반환합니다.

함수를 병렬로 실행하여 데이터 집합을 처리하고 반환을 기다립니다.

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

호출 매개변수:

  • datas: 배열, 병렬 실행을 위한 데이터 배열
  • func: 함수, 병렬로 실행되는 함수
  • fibers: 정수, 동시 광섬유 수를 제한합니다. 기본값은 -1이며 데이터와 동일한 수의 광섬유를 활성화합니다.

반환 결과:

  • Array, 함수 실행 결과의 배열을 반환합니다.

함수를 병렬로 여러 번 실행하고 반환을 기다립니다.

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

호출 매개변수:

  • func: Function, 병렬로 실행되는 함수의 수
  • num: 정수, 반복 작업의 수
  • 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

어레이, 현재 실행 중인 모든 파이버 어레이를 반환합니다.

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, 모든 출력

1
static Integer coroutine.loglevel;