본문 바로가기

iOS/Swift7

GCD vs Swift Concurrency 동작 원리 비교 (Swift Concurrency를 들어가면서...) GCD vs Swift Concurrency1. 쓰레드 관리 방식GCD선점형 쓰레드 스케줄링(Preemptive Threading): 운영체제가 강제로 쓰레드를 전환함.Context Switching 비용: 쓰레드 간 전환 시 레지스터 상태 저장/복원 등의 오버헤드가 발생함.쓰레드 폭발(Thread Explosion): 많은 작업이 동시에 실행되면 쓰레드가 과도하게 생성되어 시스템 성능이 저하됨.Swift Concurrency협력적 쓰레드 풀(Cooperative Thread Pool): 작업들이 자발적으로 양보하며 실행됨.비선점형(Non-Blocking): await 키워드에서 의해 작업이 중단되고, 해당 쓰레드는 다른 작업을 처리할 수 있음.적은 쓰레드로 많은 작업: CPU 코어 수에 맞춰 최적화된 .. 2025. 7. 5.
클로저(Closure) 이름없는 무서운녀석. 안녕하세요 rOard입니다.😀 오늘은 스위프트에서 정말 많이 사용되는 클로저(Closure)에 대해 알아보려고 합니다. 이름없는 함수라고 불리는 클로저는 주로 함수의 매개변수나 반환값으로 사용이 됩니다. 파고들수록 어려운데, 간단한 개념을 정리 해보겠습니다. 우선 클로저에 대해 알아보기 전에 스위프트의 일급객체에 대해 알아보려고 합니다. 1. 일급 객체(First Class Object)란? 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 가리킨다. [위키백과] 2. 일급 객체(First Class Object)의 조건 1. 변수나 상수에 할당할 수 있다. 2. 함수의 인자값으로 사용될 수 있다. 3. 함수의 리턴값으로 사용될 수 있다. 위의 세가지 조건을 만족시킬 수 있는 객체를 일급.. 2022. 8. 9.
클래스(Class)와 구조체(Struct) 안녕하세요 rOar입니다.👀 오늘은 클래스와 구조체에 대해 정리해 보려고 합니다. 처음 배울때 가장 헷갈리기도 했고, 생성자나 속성이 나오기 시작하면서 어려웠던것 같아요.. (지금도😱) 그럼 클래스와 구조체에 대해 먼저 알아보고, 어떤 차이점이 있는지 보도록 하겠습니다. 1. 구조체(Struct)란? - 값 형식(Value Type) - 상속 불가능 - 인스턴스 데이터는 모두 스택(Stack)에 저장 (복사시 값을 전달할때마다 복사본을 생성 : 다른 메모리 공간 생성) - 스택(Stack)영역에 저장되며, 종료시 메모리에서 자동으로 제거 위와같이 Dog구조체를 생성하여 사용자가 원하는 변수(property, 속성)와 함수(method)를 선언합니다. 그리고 위와같이 Dog구조체를 이용하여 인스턴스를 생성.. 2022. 8. 2.
열거형(Enumeration)에 대해 알아보자! 안녕하세요 rOar입니다.!😀 오늘은 열거형에 대해서 알아보려고 합니다. 앱을 만들다 보니 생각보다 열거형을 응용해서 사용하기가 쉽지 않더라구요. 그래서 복습겸 다시 정리를 해볼까 합니다! 1. 열거형(Enumeration)이란? 타입 자체를 한정된 사례(case) 안에서 정의할 수 있는 타입입니다. 위와 같이 School이라는 열거형 타입 안에 4가지 케이스를 정의 하였습니다. 이렇게 정의된 열거형은 if문이나 switch문으로 분기처리를 할 수 있는데요! 위와같은 방식으로 분기처리를 하여 사용하며, 주로 switch문으로 많이 처리하는것 같습니다. 2. 열거형의 원시값(Raw Values) 열거형의 원시값이란 case별로 매칭되는 기본값(정수 / 문자열 등)을 정해, 좀 더 쉽고 다양한 활용을 가능하.. 2022. 8. 2.