Notice
Recent Posts
Recent Comments
Link
투케이2K
130. (swift/xcode) Dispatch Group 사용해 task 작업 그룹화 및 동기 방식 로직 처리 실시 본문
[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : SWIFT
[소스 코드]
// MARK: - [테스트 메인 함수 정의 실시]
func testMain() {
print("")
print("====================================")
print("[\(self.ACTIVITY_NAME) >> testMain() :: 테스트 함수 시작 실시]")
print("====================================")
print("")
/*
-------------------------------
[요약 설명]
-------------------------------
1. Dispatch Group : 서로 다른 task 들을 그룹화 하여 작업들이 완료될때까지 기다리거나 완료되면 알림을 받을 수 있습니다
-------------------------------
2. Dispatch Group 는 그룹에 포함된 모든 작업이 완료되어야 그룹이 완료됩니다
-------------------------------
*/
// [DispatchQueue 선언 실시]
let myQueue = DispatchQueue(label: "testScheduler")
// [DispatchGroup 선언 실시]
let myGroup = DispatchGroup()
// [first 작업 시작]
myGroup.enter() // [시작]
myQueue.async {
for i in 1...2 {
print("")
print("====================================")
print("first :: \(i)")
print("====================================")
print("")
}
myGroup.leave() // [완료]
}
// [second 작업 시작]
myGroup.enter() // [시작]
myQueue.async {
for i in 3...4 {
print("")
print("====================================")
print("second :: \(i)")
print("====================================")
print("")
}
myGroup.leave()
}
// [전체 완료 알림]
myGroup.notify(queue: myQueue) {
print("")
print("====================================")
print("myGroup task End")
print("====================================")
print("")
}
}
[결과 출력]
반응형
'Swift' 카테고리의 다른 글
Comments