Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- conflicting access to memory
- Apple Certificate
- Git Large File Storage
- memory safety
- 로버트마틴형
- 메모리 접근 충돌
- Concurrent
- UICoordinateSpace
- RxCocoa
- Automatically manage signing
- swiftdocs
- iOS 버전 점유율
- Dispatch.main.sync
- Large File Storage
- Github file size
- ios
- iOS Target
- rib
- 클린아키텍쳐
- SWIFT
- App Signing
- RxSwift
- Dependency Rule
- 대머리깃허브
- coordinateSpace
- windowScene
- RIBs Tutorial
- 잡초가득블로그
- in-out
- Ribs
Archives
- Today
- Total
목록Sync (1)
빙수왕의 개발일지
DispatchQueue.main.sync가 죽는 이유
아래 코드를 그냥 쓰면 앱이 죽는다. 그냥이라는게 맨바닥에 쓴다고 해야하나..? 아무튼 개발자가 추가한 임의의 다른 시점이 아닌, 순서대로 실행되는 앱의 기본 시점에서 쓰면 죽는다. 왜 죽는걸까? 일단 DispatchQueue class에는 대표적인 2가지 인스턴스 메소드가 있다. sync와 async이다. sync는 메소드를 부른 객체의 시점을 멈추게 해서, 이 객체(DispatchQueue)가 sync안의 블럭을 모두 수행할 때 까지 다른것은 아무것도 할 수 없는 상태가 된다. 이걸 큐를 block 한다고들 한다. async는 블럭 안의 작업을 하긴 하는데 이 작업이 수행되는동안 다른것이 수행되는걸 막지 않는다. 큐가 다른행동도 할 수 있다. Serial큐에서 이렇게 해줘도 어차피 한번에 1개의 작업..
개발/iOS
2021. 8. 28. 03:43