Concurrency(동시성)에 대해서
2022. 11. 30. 19:37ㆍ면접준비
1. 동시성 프로그래밍 / 병렬 프로그래밍
- 동시성 프로그래밍(Concurrency)
- 병렬 프로그래밍(Parallism)
2. 동기 / 비동기
- 동기
- 비동기
3. 하드웨어의 스레드 / 소프트웨어의 스레드
- 하드웨어의 스레드
- 소프트웨어의 스레드
4. 동시성 프로그래밍, 병렬 프로그래밍, 동기, 비동기의 개념은 어떤 상관관계를 가질까요?
- 동시성 프로그래밍과 병렬성 프로그래밍 모두 비동기(Asynchronous)동작을 구현할 수 있지만, 그 동작 원리가 다르다. 동시성은 싱글코어 및 멀티코어에서 모두 구현할 수 있지만, 병렬성은 멀티 코어에서만 구현할 수 있다.
- 동시성 또는 병렬 프로그래밍을 활용하지 않고, 하나의 스레드로 모든 작업을 진행하게 되면, 하나의 스레드는 한 번에 하나의 일만 처리할 수 있으므로, 모든 작업들이 동기적으로 수행됩니다. 하지만 동시성 또는 병렬 프로그래밍을 활용하여 여러개의 스레드로 동시에 여러 작업을 처리함으로써, 여러 작업들의 비동기적 실행이 가능해집니다.
'면접준비' 카테고리의 다른 글
상태 변화에 따라 다른 동작을 처리하기 위한 앱델리게이트 메서드들을 설명하시오. (0) | 2022.12.07 |
---|---|
iOS_칸반 면접 질문 정리 하기 (0) | 2022.12.06 |
클래스(class) vs 스트럭트(struct) 차이 (0) | 2022.11.23 |
접근제어자에 대해서 (0) | 2022.11.22 |
오버라이드(override), 클래스 함수(class func) 차이에 대해서 (0) | 2022.11.20 |