-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
<2주차> GCD API 동작 방식과 필요성에 대해 설명하시오 #8
Comments
동작방식Queue - FIFO Serial(직렬) / Concurrent(병렬) 타입 필요성전에는 개발자가 직접 락을 걸고 스레드 풀을 관리했었지만 |
GCD란? |
Dispatch
적절하게 QoS를 지정해주면 앱의 에너지 효율이 좋아짐! DispatchQueue.global(qos: DispatchQoS.QoSClass).async { } case userInteractive case userInitiated case case background case unspecified
위와 같이 나만의 DispatchQueue를 만들어서 사용할 수도 있음 |
GCD 는 백그라운드에서 스레드를 OS에서 관리하면서 동시적으로 작업을 실행시키는 저수준 API 를 제공하는 라이브러리 입니다.
|
Grand Central Dispatch여러가지 메서드를 단일 스레드가 아닌 여러 스레드에 나눠서 처리 하기위한 역할을 함.
필요성
이런 문제점을 Apple에서 GCD를 제공함으로서 기존의 어플리케이션 레벨에서 멀티스레딩 사용시 스레드 관리를 운영체제 레벨로 올림. |
GCD (Grand Central Dispatch)
DispatchQueue Class
serial/concurrent와 sync/async는 관련이 없다 serial과 concurrent는 한 번에 하나만 작업하는지 여러개를 작업하는지의 차이이고, sync와 async는 처리가 끝날 때까지 기다리는지 기다리지 않는지의 차이이다. ✨필요성간단한 비동기 작업의 경우 NSOperationQueue보다 GCD를 쓰는 것이 구현이 쉽다. NSOperationQueue보다 빠르고 오버헤드가 적기 때문에 복잡한 로직이 아니면 GCD를 사용하는 것이 편하다. |
No description provided.
The text was updated successfully, but these errors were encountered: