잡동사니/Go lang

Go in Windows - runtime.LockOSThread()

밝은영혼 2020. 1. 9. 21:15

Go언어에서 IWebBrowser2 를 사용하는 프로그램을 만들었는데, 잘 실행되다가 갑자기 종료되는 현상이 있었다.

여러 가지 시도를 해봤는데 빈도의 차이가 있을 뿐 확실하게 해결되지 않았다.

10여일 간 검색과 시행착오를 반복한 끝에 드디어 답을 찾았다.

답은 바로 runtime.LockOSThread() 이다.

IWebBrowser 사용 중에 Access violation(0xc0000005), Application hang(0xcfffffff) 등으로 비정상 종료되었는데

runtime.LockOSThread()를 main()에서 실행한 후에 해결되었다.