최근 프로젝트를 진행하며, 어렵게 느껴진 부분이 있다 쓰레드를 다루고 비동기처리를 순서대로 정렬하고 Thread-safe 하게끔 코드가 동작하게 하는 것이다. Swift에서는 UI 화면을 업데이트를 하려면 메인 쓰레드에서만 가능하다. 그런데 메인 쓰레드에서 UI업데이트도 하고, 영상 추출 및 병합도 또한 진행하려고 하니 진행도를 표시하는 UI가 변하지 않는 부분에서 애를 먹었다. 애플에서는 AVFoundation에서 영상을 다루는 데, 영상을 추출하는 부분은 비동기 함수로 제공한다. 그동안 동기적, 순서대로 작동하게끔 코드를 구성하는 게 익숙해진 나에게 비동기적으로 로직이 작동하는 부분에서 굉장히 헷갈렸다. 지금도 또한 코드가 비동기적으로 진행할 때에 어떻게하면 Thread-safe하게 구성하게 할 지가..