스레드, 데드락/GCD / DispatchQueue


스레드, 데드락/GCD / DispatchQueue

main Thread는 직렬로 실행된다 -> 작업이 하나씩 돌아감. 속도가 느려질 수 밖에 없다. 연속적인 작업을 수행할 경우 동기 작업을 한다. DispatchQueue.main.sync{ // 해당 작업을 직렬로 처리 // 동기 처리 } DispatchQueue.main.async{ // 비동기 처리 } main이 아닌 다른 Thread 병렬 Thread는 작업의 속도가 빠르다. 한번에 여러 작업이 처리 DispatchQueue.global().sync{ // 동기 } DispatchQueue.global().async{ // 비동기 } DispatchQueue.global(qos: .userInteractive).async { // 우선순위 지정 } Dispatch 우선순위도(상위일수록 중요도 증가) main Thread는 가장 먼저 실행되고 UI를 담당한다. DispatchQueue.main.async { setUI(result) } 다른 서브스레드들은 작업을 하고 있는지 관...



원문링크 : 스레드, 데드락/GCD / DispatchQueue