티스토리 뷰
728x90
반응형
- thread-safe : 멀티스레드 프로그래밍에서 자원에 스레드가 동시에 접근해도 문제가 생기지 않는 것을 말한다. 즉, 여러 곳에서 접근하더라도 올바른 결과를 얻게된다.
- atomic : 멀티스레드 프로그래밍에서 데이터의 변경 전과 후에만 자원에 접근할 수 있음을 보장하는 것이다. 즉, 데이터가 변경되고 있는 중에는 접근이 불가능하다.
Swift 는 멀티스레딩(Multi-Threading) 방식입니다.
멀티스레드는 stack 을 제외한 heap, data, code 영역을 공유합니다. 그래서 한 스레드에서 영역을 사용할 때 다른 스레드에서 접근하게 되면 동일한 자원에 두 개 이상의 스레드가 접근하는 경우가 생깁니다. Swift 는 thread-safe 를 보장하는 언어가 아니기 때문에 이때 문제가 생길 수 있습니다. 그리고 프로퍼티가 non-atomic 입니다.
Obejctive-C 에서는 non-atomic 과 atomic 을 설정할 수 있습니다. atomic 으로 설정한 프로퍼티에 접근할 때면 getter 와 setter 에 lock 기능을 제공하게 됩니다.
728x90
반응형
'iOS' 카테고리의 다른 글
ARC(Automatic Reference Counting)란? (0) | 2022.11.18 |
---|---|
iOS) Swift 에서 GCD 로 atomic 구현하기 (0) | 2022.10.15 |
iOS) 앱 자동 배포를 위한 Fastlane 설정 - cert and sigh (9) | 2022.10.10 |
iOS) 프로젝트 배포 환경별 Build Scheme 세팅(.xcconfig 사용) + key 숨기기 (4) | 2022.10.04 |
iOS) main.sync 를 사용하면 왜 안될까요? (0) | 2022.10.03 |
댓글
TAG
- configurable widget
- projectsetting
- Widget
- OpenSourceLibrary
- github
- YPImagePicker
- Swift
- APNS
- rxswift
- MVVM
- WidgetKit
- SwiftUI
- IOS
- UserDefaults
- async/await
- Firebase
- 서버통신
- RxCocoa
- MOYA
- Protocol
- CloneCoding
- watchOS
- urlsession
- WWDC22
- Objective-C
- containerBackground
- Algorithm
- Notification
- 2022 KAKAO TECH INTERNSHIP
- WWDC
최근에 올라온 글
최근에 달린 댓글
글 보관함
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
링크
- Total
- Today
- Yesterday