728x90
반응형
SMALL
시리얼(Serial) 큐, 컨커런트(Concurrent) 큐
애초에 직렬, 병렬 뜻입니다..... 어렵게 생각맙시다....
시리얼(Serial) 큐와 컨커런트(Concurrent) 큐는 iOS 애플리케이션에서 멀티스레딩을 구현하는 데 사용되는 기술입니다.
시리얼 큐는 작업들이 순차적으로 실행되는 큐입니다. 큐에서 하나의 작업이 끝나야 다음 작업이 실행됩니다. 이러한 특성 때문에, 시리얼 큐는 데이터를 안전하게 다룰 수 있도록 보장합니다. 시리얼 큐 예제 코드는 다음과 같습니다.
let serialQueue = DispatchQueue(label: "com.example.serialqueue")
serialQueue.async {
// 첫 번째 작업
}
serialQueue.async {
// 두 번째 작업
}
serialQueue.async {
// 세 번째 작업
}
컨커런트 큐는 여러 개의 작업이 동시에 실행될 수 있는 큐입니다. 이 큐에서는 작업들이 동시에 실행될 수 있기 때문에, 시간이 많이 걸리는 작업이 있는 경우에는 다른 작업이 먼저 실행될 수 있습니다. 컨커런트 큐 예제 코드는 다음과 같습니다.
let concurrentQueue = DispatchQueue(label: "com.example.concurrentqueue", attributes: .concurrent)
concurrentQueue.async {
// 첫 번째 작업
}
concurrentQueue.async {
// 두 번째 작업
}
concurrentQueue.async {
// 세 번째 작업
}
위 예제 코드에서 DispatchQueue의 label 파라미터는 큐를 식별하는 데 사용되며, attributes 파라미터는 큐의 특성을 지정합니다. 시리얼 큐와는 달리, 컨커런트 큐에서는 attributes 파라미터를 .concurrent로 지정해야 합니다.
728x90
반응형
LIST
'iOS' 카테고리의 다른 글
iOS 계층구조-1 (0) | 2023.04.15 |
---|---|
2023 WWDC Student Challenge 도전. (0) | 2023.04.14 |
싱글톤 패턴, 옵저버 패턴, 코디네이터 패턴 (0) | 2023.04.13 |
REST API (0) | 2023.04.13 |
Content hugging과 Compression resistance (0) | 2023.04.12 |