-
[iOS] DispatchQueue.main.sync { } 는 어떻게 작동할까?iOS/🤖 App 2021. 6. 7. 15:27
선수지식 : [iOS] GCD란? 안녕하세요🐶 이번 시간에는 GCD 를 처음 공부할때 쉽게이해가지 않았던DispatchQueue.main.sync { } 의 동작방식에 대해 다뤄보려고 합니다. StackOverflow 에서 main 쓰레드에 sync 를 전달하면 앱이 강제종료 되는 이유를 찾아보면, `Main queue에 sync로 Task를 전달하면 Deadlock 이 걸린다` 정도의 모호한 이야기만 나와있어서 제대로된 이유를 알고 싶어서 한번 알아보게 되었습니다. 위와 같이 직접 작성한 User Code 에서 DispatchQueue.main.sync(block:) 을 호출하면 앱에 크래시가 발생하고 강제종료 됩니다. 이번 글은 이 현상이 왜 발생하게 되는지 알아보는 글입니다. 결론을 우선 말씀드리면..