동기

타이밍을 맞추다.

타이밍이 맞을때까지 기다린다.

하드웨어적으로 가장 로우레벨에 클럭 이라는 기준에 맞춰 동작한다.

소프트웨어적으로 루틴과 서브 루틴으로 분리해서 함수가 하위 함수를 기다릴 수 있도록

동기적 으로 동작가능해졌다. 워커 하나가 여러 루틴을 움직이며 함수들을 실행.

순차적인 동기 작업

뒤에 있는 작업들이 대기 하므로 오래 걸린다.

동기 원격 리소스

네트워킹 사용시 데이터의 이동이 끝날 때까지 다른 작업들이 수행되지 못한다

특히 앱 에서는 화면이 멈추는걸 지양해야 한다.

비동기 Asynchronous

하나의 context에서 작업을 실행하다가 네트워킹 작업이 생기면 다른 context에서 실행하고

다시 원래의 context 작업들을 실행하다가 네트워킹 작업이 끝나면

콜백함수(클로저)를 호출하는 형식으로 작업한다

Parallel(병렬) vs Concurrent(동시성)

병렬

물리적으로 동일한 작업을 동시에 여러 워커가 실행한다.

동시성