1. 왜 동시성 프로그래밍이 필요할까?

동시성 프로그래밍의 정의

작업(Task)을 어떻게 다른 스레드에서 동시에 일을 하게 할 수 있을까?

작업을 **대기행렬(== Queue)**에 보내기만 하면 된다. → OS에서 알아서 다른 스레드로 분산처리를 해준다.

iOS에서의 동시성 프로그래밍의 목표

작업(Task)을 Queue로 보내는 프로그래밍 방법만 공부하면 끝난다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/49f74d13-352f-40fe-8b0e-2aaa67e0d579/Untitled.png

2. 간단한 GCD/Operation 소개

Queue로 보내는 방법

DispatchQueue.global().async { 
// Task 1 - 작업의 한 단위
}

DispatchQueue.global().async { 
// Task 2 - 작업의 한 단위
}

GCD / Operation