When to Use Threads (Concurrency Programming Guide)
Concurrency Programming Guide - 1
Concurrency Programming Guide - 2
Concurrency Programming Guide - 3
When to Use Threads
-
operation queues와 dispatch queues는 task를 동시에 수행하는 기본 방법이지만, 모든것을 해결할 수 있는 방법은 아니다
-
앱에 따라 사용자 정의 쓰레드를 만들어야 할 때가 있을 수 있다
-
커스텀 쓰레드를 만드는 경우, 가능한 적은 수의 쓰레드를 생성하려고 노력해야 한다.
-
다른 방법으로는 구현할 수 없는 특정 task에만 쓰레드를 사용해야 한다
-
쓰레드는 실시간으로 실행해야하는 코드를 구현하는 좋은 방법이다
-
dispatch queues는 가능한 빨리 task를 실행하려고 시도하지만, 실시간 제약조건을 처리하지는 않는다
-
백그라운드에서 실행되는 코드에서보다 예측가능한 동작이 필요한 경우 쓰레드가 여전히 더 나은 대안을 제공 할 수 있다
-
다른 쓰레드 프로그래밍과 마찬가지로 절대적으로 필요한 경우에만 항상 쓰레드를 적절하게 사용해야 한다
-
쓰레드 사용방법에 대한 자세한 내용은 [Apple Document about Threading Programming Guide]를 참고.(https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/Multithreading/Introduction/Introduction.html#//apple_ref/doc/uid/10000057i)
참고 자료