iOS 개발/Swift
[Swift 3.0] Dispatch Queue 사용하기
beankhan
2017. 6. 6. 01:20
GCD 란
멀티코어 프로세서를 위한 Thread 프로그래밍을 Mac OS 에서 자동으로
관리 / 분배해주는 C Library 이다.
Serial Queue
let queue = DispatchQueue.init(label: "serialQueue")
for i in 1...5 {
queue.async {
Thread.sleep(forTimeInterval: 1)
print("\(i)")
}
}
Concurrent Queue
let queue = DispatchQueue.init(label: "concurrentQueue",
attributes: .concurrent)
for i in 1...5 {
queue.async {
Thread.sleep(forTimeInterval: 1)
print("\(i)")
}
}
Global Queue
let queue = DispatchQueue.global()
for i in 1...5 {
queue.async {
Thread.sleep(forTimeInterval: 1)
print("\(i)")
}
}
Main Queue
let queue = DispatchQueue.main
for i in 1...5 {
queue.async {
Thread.sleep(forTimeInterval: 1)
print("\(i)")
}
}