동기 / 비동기가 도대체 뭐야?

선민재·2022년 7월 6일
1
post-thumbnail

오늘도 iOS 로드맵을 보던 중 Concurrent Programming을 보았다.
Concurrent Programming을 검색해보니 동기 / 비동기란 단어가 상당히 많이 나왔다.
그래서 나는 동기 / 비동기가 궁금해졌다.

동기 / 비동기

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

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

동기 / 비동기의 장단점

🖥 동기
장점 : 설계가 간단하고 직관적이다.
단점 : 결과가 나올때까지 아무것도 못한다.
🖥 비동기
장점 : 결과나올 때까지 다른 일을 처리할 수 있다.
단점 : 동기식보다 설계가 복잡하다.

마무리

오늘은 이렇게 동기 / 비동기의 차이점을 알아보았습니다.
👊 글 읽어주셔서 감사합니다!

profile
열심히 하자

0개의 댓글