다중 스레드 사용 고려사항

Go 명령은 포커스 스레드에 명시적으로 말하고 기타 모든 스레드로 내재적 이동을 보냅니다. 예를 들어, @T1, @T2, @T3라는 세 개의 스레드가 있고 @T2에 초점을 맞춘 멀티스레드 환경에서 Go Step 명령은 @T2를 한 단계 진행시킵니다. 이 시간 동안 스레드 @T1@T3는 기본 운영 체제의 스케줄링 정책에 따라 하나 이상의 단계를 진행할 수 있습니다. 어느 경우든 사용자에게 제어가 리턴되면 세 개의 스레드가 모두 전체 단계를 실행한 것입니다(실행은 단계 중간에 중지되지 않음).

활성(일시중단되지 않음) 스레드만 Go 명령에서 진행됩니다. 포커스 스레드가 일시중단된 경우, 실행은 진행되지 않으며 포커스를 다른 스레드로 설정하거나 포커스 스레드를 재개하도록 프롬프트가 표시됩니다. 포커스 스레드가 Go Step, Go Event 또는 Go Idle 명령 중에 유휴 상태가 되면 애플리케이션이 즉시 중지됩니다.


피드백