Swift - 동기와 비동기
Swift - 동기와 비동기
동기
동기란 작업을 순차적으로 실행하는 것을 뜻함.
작업이 종료될 때까지 다음 작업은 실행되지 않음.
동기 예시
1
2
3
4
5
6
7
8
9
import UIKit
for row in 1...3{
print("작업 시작 : \(row)")
Thread.sleep(forTimeInterval: 1)
print("작업 종료 : \(row)")
}
print("동기 작업 완료")
결과
1
2
3
4
5
6
7
작업 시작 : 1
작업 종료 : 1
작업 시작 : 2
작업 종료 : 2
작업 시작 : 3
작업 종료 : 3
동기 작업 완료
비동기
비동기란 작업이 종료될 때까지 기다리지 않고 바로 다음 작업으로 넘어가는 것을 말함.
비동기 예시
1
2
3
4
5
6
7
8
9
10
11
import UIKit
for row in 1...3{
DispatchQueue.global().async {
print("작업 시작 : \(row)")
Thread.sleep(forTimeInterval: 1)
print("작업 종료 : \(row)")
}
}
print("비동기 작업 완료")
결과
1
2
3
4
5
6
7
비동기 작업 완료
작업 시작 : 2
작업 시작 : 3
작업 시작 : 1
작업 종료 : 1
작업 종료 : 3
작업 종료 : 2
This post is licensed under CC BY 4.0 by the author.