안녕하세요. 개발자 멍구입니다! iOS 개발을 하다 보면 "동시성", "데이터 경쟁(data race)", "스레드 안전성" 같은 말들이 자주 들리죠? 처음 들으면 어렵게 느껴질 수 있지만, 오늘은 그런 개념들을 단번에 정리해주는 핵심 키워드 두 가지를 소개해드릴게요.바로 Actor와 Sendable입니다. 앱이 복잡해지고, 멀티태스킹이 많아질수록 중요해지는 이 개념들, 오늘 알아보겠습니다. Actor? 데이터 경합 문제를 깔끔하게 해결하는 방법먼저 Actor부터 볼게요."Actor는 일종의 안전한 방입니다." 여러 사람이 동시에 들어와서 방 안의 물건을 엉망으로 만들지 않도록, 한 명씩만 차례대로 들어와서 방 안의 상태를 변경할 수 있도록 해요.Swift에서 actor는 class처럼 참조 타입이지만,..
스레드의 동시 접근으로 생기는 문제점인 Data Races 문제를 해결하기 위해서 사용할 수 있는 프로토콜이 있습니다. Swift Concurrency 관련해서 생긴 새로운 타입인 Actor도 이 protocol을 채택하고 있는데요. 오늘은 Sendable protocol 문서를 읽어보고자 합니다. Sendable protocol의 요약 설명을 보면, 복사에 의해 Concurrency 도메인 간에 값을 안전하게 전달할 수 있도록 한다고 하는데, 문서를 보도록 하겠습니다. 동시성 문제를 해결하는 Actor와 Sendable protocol의 관계 하나의 스레드에서 동시 접근을 해버리면 예기치못한 동작을 야기할 수 있습니다. 대표적인 예사가 은행송금 문제입니다. 만약에 잔고가 100만원이 있는데, 동시에 ..
- Total
- Today
- Yesterday
- 컬렉션
- swift string
- SwiftUI
- 알고리즘
- swift concurrency
- ios
- 프로그래머스
- 백준swift
- Swift 알고리즘
- 알고리즘문제
- createML
- Protocol
- 자연어처리
- 김프매매
- 프로그래머스swift
- 스위프트
- swift 기초
- swift 문자열
- uikit
- Collection
- swift reduce
- swift문제
- swift알고리즘
- 프로토콜
- 개발자문서
- 부스트코스
- 백준알고리즘
- CoreML
- swift
- swift언어
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |