본문 바로가기

Swift Concurrency

[iOS] About Swift Concurrency 드디어..!Swift Concurrency에 대해 글을 쓰는 날이 왔습니다..!코드적으로 사용하는 것은 어렵지 않았으나 그 외적인 내용이 굉장히 많더군요..! 1. Swift Concurrency 도입 배경기존 비동기 프로그래밍 - GCD 에서의 문제점 콜백지옥(callback hell) 기존의 비동기 함수 정의 방식- 오래 걸려서 얻는 결과값을 콜백 클로저 형태로 돌려받음// 콜백 함수 형태로 사용func getImage(completionHandler: @escaping (UIImage?) -> Void) { DispatchQueue.global().async { sleep(5) let image = UIImage(systemName: "person") co.. 더보기
[iOS] About 동시성 동시성여러 작업을 동시에 실행되는 것 처럼 보이게 하는 것  프로그램 / 프로세스 / 스레드 프로그램- 단순한 코드 덩어리 프로세스- 프로그램이 실제로 실행되어 메모리에 올라가 실행 중인 것 스레드- 프로세스 내에서, 프로세스의 자원을 이용해서 실제로 작업을 수행하는 것  멀티 프로세스멀티 프로세스- 하나의 운영체제에서 동시에 프로세스를 여러개 실행시킬 수 있는 기술 멀티 프로세스 환경에서의 메모리 구조- 하나의 운영체제에서 여러 프로세스들이 각각의 독립적인 공간을 할당받음- 하나의 프로세스 내부에 코드, 데이터, 힙, 스택 영역들이 각각 존재  멀티 스레드멀티 스레드- 하나의 프로세스 내에서 둘 이상의 스레드가 동시에 작업을 수행하는 것 멀티 스레드 환경에서의 프로세스의 메모리 구조- 하나의 운영체제에.. 더보기