minaje

Sync, Async - 동기, 비동기 본문

iOS/기초 지식

Sync, Async - 동기, 비동기

minaje 2023. 10. 17. 11:28

글을 시작하며

오늘도 iOS 로드맵을 보던 중 Concurrent Programming을 보았다.
Concurrent Programming을 검색해보니 동기 / 비동기란 단어가 상당히 많이 나왔다.
동기.. 비동기.. 음.. 무슨 말일까..! 고민을 하다가 한 번 공부해 보기로 했다!

동기 / 비동기

일단 간단히 말하자면 처리해야 할 일이 a, b, c, d가 있다고 치자.
이 일들을 1번 Thread에서 처리하고 있었는데 이것을 분산처리 시키고 싶을 때
동기는 a를 2번 Thread에 보내고 a가 끝날때까지 그 뒤에 일(b)을 처리하지 않는 것이다.

이를 그림으로 간단히 보면

동기

이렇게 된다.

 

비동기는 a를 2번 Thread에 보내고 a가 끝나는 것을 기다리지 않고, 그 뒤에 일(b)을 처리하는 것이다.

비동기

이렇게 a를 Thread2에 넘기고 동시에 Thread 1에서는 b를 처리하는 방식이다.

 

Sync, Async 장단점

minaje 동기 - Sync 비동기 - Async
장점 설계가 간단하고 직관적이다 여러 작업을 동시에 처리할 수 있다.
단점 작업이 끝날때까지 다음 작업을 못 한다 동기식보다 비교적 설계가 복잡하다

 

'iOS > 기초 지식' 카테고리의 다른 글

이미지 색 변경하는 법 - UIImage RenderingMode  (0) 2023.10.18
메모리 누수 방지하는 방법!  (0) 2023.10.17
어..어어..!! 순환참조!  (2) 2023.10.17
Protocol?  (2) 2023.10.17