Swift) 비동기 프로그래밍에 대한 이해

2023. 8. 31. 17:19·앱/Swift

병렬 프로그래밍(Parallel Programming)

병렬프로그래밍이란, 여러개의 cpu가 하나의 task를 나눠서 처리하는것을 의미한다.

즉 예를들어, 파스타를 하나 만든다면 4개의 cpu가 서로, 면삶기, 소스만들기, 접시준비하기, 노래틀기 와 같이 일을 나눠서 한다고 생각하면 된다.

병렬프로그래밍이란, 멀티코어를 활용한 방법이다.

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

동시성프로그래밍이란, 하나의 cpu가 동시에 여러개의 작업을 하는것을 의미하며, 실제로는 빠른속도의 context switching을 통해서 여러개를 동시하는것처럼 보이는 시분할 작업방법을 의미한다.

동시성 프로그래밍은 기존의 순서대로 명령들이 실행되는 구조에서 벗어나 명령들이 불규칙한 순서대로 실행될 수 있게 해주는 프로그래밍 기법이다. 멀티쓰레딩은 동시성 프로그래밍의 한 방법이지만, 동시성 프로그래밍이 꼭 병렬처리 및 멀티쓰레딩을 의미하지는 않는다.

즉 동시성은 다중스레딩 환경에서의 작업을 의미한다.

비동기 프로그래밍(Asynchronous Programming)

비동기 프로그래밍은 Future, Promise 및 Async-Await와 같은 추상화된 기능들을 이용하여 동시성 프로그래밍을 하는 방법이다. 마찬가지로 비동기 프로그래밍을 사용한다고 해서 꼭 병렬처리 및 멀티쓰레딩인 것은 아니다.

  • 즉 동시성 프로그래밍이란, 멀티스레딩환경에서의 시분할 프로그래밍 기법이라고 생각하면 된다.
반응형

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

Swift) NSCache와 NSDictionary  (0) 2023.09.07
Swfit) static library, dynamic library의 차이에 대해서(feat. framework)  (0) 2023.09.07
Swift) Xcode, app thinning이란?  (0) 2023.08.31
Swift) UIApplicationMain, UIApplication, App delegate, UIApplicationDelegate  (0) 2023.08.31
Swift) Dispatch Group이란, 사용하는 방법  (0) 2023.08.28
'앱/Swift' 카테고리의 다른 글
  • Swift) NSCache와 NSDictionary
  • Swfit) static library, dynamic library의 차이에 대해서(feat. framework)
  • Swift) Xcode, app thinning이란?
  • Swift) UIApplicationMain, UIApplication, App delegate, UIApplicationDelegate
진ddang
진ddang
안녕하세요 진땅의 개발자 블로그 입니다. 피드백은 환영입니다. 깃헙 : https://github.com/it794613
    반응형
  • 진ddang
    맛동산이
    진ddang
  • 전체
    오늘
    어제
    • 분류 전체보기 (199)
      • 일기 그리고 목표 (1)
      • 웹 (20)
        • 리액트 (19)
      • 앱 (115)
        • Swift 문법 (15)
        • Swift (65)
        • SwiftUI (32)
        • 리액트 네이티브 (3)
      • CS (30)
        • 컴퓨터그래픽스 (8)
        • 운영체제 (6)
        • 네트워크 (16)
      • 알고리즘 (13)
        • 백준 (12)
        • 프로그래머스 (1)
      • 대외활동 (7)
        • ict한이음(2022.04) (2)
        • 멋쟁이 사자처럼 (5)
        • Apple Developer Academy (0)
      • 다양한 내용들 (8)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    widget
    웹
    Protocol
    영남대
    운영체제
    네트워크
    스유
    TCA
    dispatchqueue
    대외활동
    위젯킷
    c++
    컴퓨터그래픽스
    리액트
    uikit
    swift concurrency
    멋사
    cs
    백준
    spritekit
    ReactorKit
    스위프트
    widgetkit
    composable architecture
    Swift
    문법
    후기
    멋쟁이사자처럼
    SwiftUI
    알고리즘
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
진ddang
Swift) 비동기 프로그래밍에 대한 이해
상단으로

티스토리툴바