[Swift Concurrency 2편] Process & Thread
·
📱 iOS/Swift Concurrency
프로세스*프로그램의 인스턴스가 메모리에 올라와있는 것 프로그램: 디스크에 실행파일 형식으로 저장되어 있음프로세스 분류포그라운드 프로세스화면에서 사용자와 상호작용 함사용자가 볼 수 있는 공간에서 실행됨백그라운드 프로세스사용자가 볼 수 없는 공간, 화면 뒤에서 실행되는 데몬이 대표적 예시프로세스 메모리 구조스택과 힙동적 할당스택과 힙은 동적 할당 됨 (런타임 단계에서 메모리를 할당받는 것)스택지역변수, 함수 파라미터.. 등등 늘어나거나 줄어드는 메모리 영역함수 호출 시마다 환경 등 특정 정보가 스택에 계속 저장됨재귀 함수가 호출될 때 새로운 스택 프레임이 매번 사용됨단점: 반복적 호출 또는 함수가 메모리 초과할 정도로 지역 변수를 많이 가질 경우 Stack Overflow 발생힙프로그래머가 필요할 때마다 사..
[Swift Concurrency 1편] OT
·
📱 iOS/Swift Concurrency
배경네이버 부스트캠프 프로젝트에서 Swift 6.0 버전으로 개발을 진행했다.그러나 무수히 발생하는 동시성과 관련한 빨간 에러들,모두 Swift 5.5 버전에 출시된 Swift Concurrency와 관련한 내용이었다. 우리는 이걸 해결하기 위해 Sendable과 MainActor를 남발하면 어떻게든 되겠지 하고 넘겼다. 그렇게 지저분해진 우리가 막 싸지른 코드를 정리하고자네부캠 수료 후 Swift Concurrency 스터디를 운영하기로 했고,학습 후 프로젝트 리팩토링까지 진행하기로 했다. 해결해야 할 숙제들actor로 동작하는 것과 class가 Sendable인 것의 차이를 설명하기DIContainer처럼 클래스의 프로퍼티에 @MainActor를 붙인 것과 클래스 자체가 @MainActor인 것은 어..