MVVM(model-view-viewModel): 양방향 통신, 반응형 패턴
DispatchQueue.main.sync
//큐에 태스크 처리 요청 후 대기, 대상이 같은 메인쓰레드여서 무한대기로 꺼짐
DispatchQueue.main.async
//ui그릴때 사용가능, 메인 쓰레드 큐에 처리 요청하고 바로 다음작업 실행
//순서만 밀릴뿐 메인쓰레드에서 처리
DispatchQueue.global().sync
//큐에 처리요청 보냈으나 완료된 후 실행이라 순서대로 실행
//main.sync 동작과 같음
DispatchQueue.global().async
//API통신중일때 다른 작업을 위해 사용가능
동기(sync)/비동기(async)
queue: 관리담당
serial: MainThread
Concurrent: Global
GCD (Grand Central Dispatch)
OperationQueue
Async / Await
group: 그룹 DispatchQueue 가능
notify: 처리 상태 알려줄 수 있음
enter / leave: 참조를 사용하여 그룹 enter/leave 상태 체크
Race Condition: 같은 데이터를 동시에 건드려서 에러 발생할 수 있음
예,,?