감자주먹밥

[Swift] 동시성 프로그래밍 GCD, Operation 본문

IOS/Swift

[Swift] 동시성 프로그래밍 GCD, Operation

JustHm 2023. 2. 25. 20:26
728x90

 

 

동시성 프로그래밍 (Concurrency Programming) - 야곰닷넷

동시성 프로그래밍 동시성 프로그래밍(Concurrency Programming) 코스에 오신 것을 환영합니다! 이번 코스는 동시성 프로그래밍에 대한 이해를 […]

yagom.net

야곰사이트의 동시성 프로그래밍을 수강하고 정리 한 글.

동시성 프로그래밍이란?

  • 하나의 CPU가 여러 작업을 동시에 처리하는 것.
  • 싱글코어에서도 가능한 논리적인 개념.
  • 여러개의 스레드를 이용하여 동시에 여러 작업을 처리한다.

실제로는 여러 작업을 나열해두고 하나씩 번갈아가며 작업을 처리하는데, 속도가 매우 빨라 동시에 작업을 처리하는 것처럼 보여진다. 아주 빠르게 Context Switching을 하는 것.

병렬 프로그래밍과 차이점

  • 병렬 프로그래밍은 CPU(코어)가 하나의 작업을 분담해서 처리하는 것.
  • 동시성 프로그래밍은 여러 작업을 동시에 처리하는 것.
  • 병렬 프로그래밍은 다중코어를, 동시성 프로그래밍은 다중 스레드를 활용하는 것이다.

둘은 반대되는 개념은 아니다.

GCD 기본! (Grand Central Dispatch)

  • 멀티코어 환경과 멀티스레트 환경에서 최적화된 프로그래밍을 할 수 있도록 애플이 개발한 기술
  • GCD는 애들이 제공하는 동시성 프로그래밍 중 가장 대표적인 방법
  • 어떻게 사용할지 (일의 순서, 동기/비동기 처리) 정해주면 스레드를 관리해준다.
  • GCD 사용은 Dispatch라는 프레임워크를 사용하고 그중에 특히 DispatchQueue라는 클래스를 주로 사용하게 된다.

나머지 GCD, Operation을 알아보는 글은 Notion에 작성했움

  • GCD (Grand Central Dispatch) : 멀티 코어와 멀티 프로세싱 환경에서 최적화된 프로그래밍을 할 수 있도록 애플이 개발한 기술
  • Operation Queue : 비동기적으로 실행되어야 하는 작업을 객체 지향적인 방법으로 사용

https://galvanized-jeep-eb7.notion.site/Concurrency-Programming-cc51f4320fd149acab2e44e20d3ba647

 

동시성 프로그래밍(Concurrency Programming)

동시성 프로그래밍?

galvanized-jeep-eb7.notion.site


 

728x90

'IOS > Swift' 카테고리의 다른 글

[Swift] Swift Concurrency - Actor  (0) 2023.03.14
[Swift] Swift Concurrency - Task  (0) 2023.03.06
[Swift] Swift Concurrency - async/await  (0) 2023.03.02
Xcode 단축키 모음  (2) 2022.01.13
Swift PS 할때 유용한 것  (0) 2021.09.01
Comments