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

더 알아보기