투케이2K

70. (TWOK/ALGORITHM) [Ios] 문법 - GCD (Grand Central Dispatch) 설명 및 예제 소스 코드 작성 본문

투케이2K 알고리즘

70. (TWOK/ALGORITHM) [Ios] 문법 - GCD (Grand Central Dispatch) 설명 및 예제 소스 코드 작성

투케이2K 2022. 11. 20. 11:28

[환경 설정 및 설명]

언 어 : Ios

설 명 : 문법 - GCD (Grand Central Dispatch) 설명 및 예제 소스 코드 작성

 

[설 명]

1. GCD 는 macOS, iOS, watchOS 및 tvOS 의 멀티코어 하드웨어에서 동시 코드 실행 지원에 대한 스케줄링 작업 체계 방식 입니다

​
2. GCD 는 큐 (Queue) 방식으로 작업 task 를 관리 합니다 

​
3. DispatchQueue 스레드 구분 : 

  - main (main thread) : 주로 UI 및 메인 스레드에서 처리해야할 작업 수행

  - global (background thread) : 주로 네트워킹 , api 호출 관련 백그라운드 스레드에서 처리해야할 작업 수행


4. DispatchQueue task 처리 방식 구분 : 

  - sync (동기) : queue 에 추가된 작업이 끝날때까지 작업을 기다렸다가 수행

  - async (비동기) : 큐에 작업은 추가되나, 작업완료 여부는 보장하지 않고 비동기 처리 수행 실시
 

[소스 코드]

    // [메인 큐에서 비동기 방식 실행 : UI 동작 실시]
    DispatchQueue.main.async {

    }


    // [메인 큐에서 동기 방식 실행]
    DispatchQueue.main.sync {

    }

    
    // [일정 시간 후 작업 수행 : post delayed]
    DispatchQueue.main.asyncAfter(deadline: .now() + 2) { // [2초 후에 동작 실시]
        // 2초 후에 처리할 작업 내용
    }


    // [백그라운드에서 비동기 방식 실행]
    DispatchQueue.global().async {

    }


    // [백그라운드에서 동기 방식 실행]
    DispatchQueue.global().sync {

    }
 
반응형
Comments