10.12.1 Threading
10.12.1 Threading
since Haxe 4.0.0
일부 sys 타깃에서 통합 스레딩 API를 사용할 수 있습니다. API를 사용할 수 있을 때 컴파일 타임 정의 target.threaded가 설정됩니다. 이 API는 함수에서 스레드를 매우 간단하게 만듭니다:
class Main {
public static function main():Void {
#if (target.threaded)
sys.thread.Thread.create(() -> {
while (true) {
trace("other thread");
Sys.sleep(1);
}
});
Sys.sleep(3);
#end
}
}
생성된 모든 스레드는 데몬 스레드로 취급되며, 즉 메인 스레드가 그들의 완료를 기다리지 않습니다.
스레드는 모든 Haxe 변수와 객체와 함께 공유 메모리 공간에 접근할 수 있으므로 교착 상태와 경쟁 조건으로 인한 문제가 발생할 수 있습니다. 표준 라이브러리는 sys.thread 패키지에 몇 가지 핵심 동기화 구성을 제공합니다.
출처: Threading