Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- weak
- GOMS
- Swift
- breakpoint
- pop
- 광주소프트웨어마이스터고등학교
- ios
- 순환참조
- UISheetPresentationController
- Async
- MVVM
- keychain
- UIKit
- 회고록
- UIImage
- Clean Architecture
- RenderingMode
- xcode
- unowned
- Sync
- Protocol
- DI
- 정규식
- ReactorKit
- regex
- 회고
Archives
- Today
- Total
minaje
Sync, Async - 동기, 비동기 본문
글을 시작하며
오늘도 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 |