Notice
Recent Posts
Recent Comments
Link
투케이2K
151. (swift5/xcode) DispatchGroup 사용해 작업 그룹 묶음 및 순차 로직 처리 실시 (waitGroup.notify) - DispatchQueue 본문
Swift
151. (swift5/xcode) DispatchGroup 사용해 작업 그룹 묶음 및 순차 로직 처리 실시 (waitGroup.notify) - DispatchQueue
투케이2K 2023. 10. 31. 18:32[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : SWIFT5
[소스 코드]
// -----------------------------------------------------------------------------------------
// MARK: - [테스트 메인 함수 정의 실시]
// -----------------------------------------------------------------------------------------
func testMain() {
S_Log._D_(description: "테스트 함수 시작 실시", data: nil)
/*
------------------------------------
[요약 설명]
------------------------------------
1. Dispatch Group : DispatchQueue 들을 그룹으로 묶어서, 후행 클로저 (일이 끝난고 난 다음의 로직 처리) 를 할 때 사용 됩니다
------------------------------------
2. enter() : 선행 시작을 알립니다
------------------------------------
3. leave() : 실행이 끝난 다는 것을 알립니다
------------------------------------
4. notify() : 그룹 작업이 완료 되었음을 알립니다
------------------------------------
*/
// [로직 처리 실시]
var one = 0
var two = 0
let waitGroup = DispatchGroup() // [그룹]
let jobQueue = DispatchQueue.main // [작업 큐]
waitGroup.enter() // 선행 시작을 알림
jobQueue.async {
one = 1 // 변수 값 삽입
Thread.sleep(forTimeInterval: 1.0) // 1 초 간 정지
waitGroup.leave() // 실행 종료
}
waitGroup.enter() // 선행 시작을 알림
jobQueue.async {
two = 2 // 변수 값 삽입
Thread.sleep(forTimeInterval: 1.0) // 1 초 간 정지
waitGroup.leave() // 실행 종료
}
waitGroup.notify(queue: jobQueue) {
S_Log._D_(description: "그룹 작업 실행 종료", data: [
"one :: \(one)",
"two :: \(two)"
])
}
}
[결과 출력]
================================================================
LOG :: CLASS PLACE :: A_Webview.swift :: testMain() :: 1239
-------------------------------------------------
LOG :: NOW TIME :: 2023-10-31 18:25:11
-------------------------------------------------
LOG :: DESCRIPTION :: 그룹 작업 실행 종료
-------------------------------------------------
LOG :: one :: 1
-------------------------------------------------
LOG :: two :: 2
================================================================
반응형
'Swift' 카테고리의 다른 글
Comments