모듈 코루틴
동시성 제어 모듈
참조 방법:
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: Function, Fiber에서 실행할 기능 지정
- args: ..., 가변 매개변수 시퀀스, 이 시퀀스는 파이버의 기능에 전달됩니다.
반환 결과:
- Fiber, 반환 섬유 개체
parallel
일련의 함수를 병렬로 실행하고 반환을 기다립니다.
1
2static Array coroutine.parallel(Array funcs,
Integer fibers = -1);
호출 매개변수:
- funcs: Array, 병렬로 실행되는 함수의 배열
- fibers: 정수, 동시 광섬유 수를 제한합니다. 기본값은 -1이며, 함수와 동일한 수의 광섬유를 활성화합니다.
반환 결과:
- 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: Function, 병렬로 실행되는 함수의 수
- num: 정수, 반복 작업의 수
- fibers: 정수, 동시 광섬유 수를 제한합니다. 기본값은 -1이며, 함수와 동일한 수의 광섬유를 활성화합니다.
반환 결과:
- 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;