GCD 란멀티코어 프로세서를 위한 Thread 프로그래밍을 Mac OS 에서 자동으로관리 / 분배해주는 C Library 이다. Serial Queue let queue = DispatchQueue.init(label: "serialQueue") for i in 1...5 { queue.async { Thread.sleep(forTimeInterval: 1) print("\(i)") } } Concurrent Queue let queue = DispatchQueue.init(label: "concurrentQueue", attributes: .concurrent) for i in 1...5 { queue.async { Thread.sleep(forTimeInterval: 1) print("\(i)") }..
Dispatch Queue 디스패치 큐는 실행할 작업을 저장하는 큐이다. 애플리케이션 프로그래머들은 블록 구문으로 작업을 작성할 수 있고 dispatch_async 함수를 사용하여 그것들을 디스패치 큐에 추가할 수 있다. 시리얼 디스패치 큐 시리얼 디스패치 큐는 작업이 끝나기를 기다렸다가 다음 작업이 실행된다. 한 번에 딱 하나의 작업만 실행된다. 단일 스레드를 사용한다. 콘커런트 디스패치 큐 앞의 작업이 끝날 때를 기다리지 않는다. 동시에 여러 개의 작업이 실행된다. 동시에 실행되는 작업의 수는 현재 시스템의 상태 (CPU 코어 수, CPU 사용 레벨) 에 따라 달라진다. 멀티 스레드를 사용한다. XNU 커널은 스레드 개수를 결정하고 작업을 실행하는 스레드를 생성한다. 작업이 끝나거나 실행 중인 작업의..
- Total
- Today
- Yesterday
- EffectiveObjectiveC
- HTTP
- optional
- CIImage
- NSManagedObject
- dictionary
- Swfit
- Arc
- Swift 3.0
- UIView
- Swift3
- delegate
- applicationWillResignActive
- thread
- 읽기 좋은 코드가 좋은 코드다
- Swift 3
- Swift
- coredata
- Block
- NSManagedObjectModel
- RunLoop
- workerThread
- docker
- AWS
- CGImage
- string
- NSManagedObjectContext
- ios
- 꺼내먹어요
- set
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |