GCDSwift 是 Grand Central Dispatch 最常用功能的 Swift 封装。它有四个主要目标
GCDSwift 定义了与 GCDObjC 相同的 API。
GCDSwift 需要 Swift 2.0。
有关使用示例,请参阅 GCDSwiftTests.m。
队列在 GCDQueue 类中实现。
class var mainQueue: GCDQueue { get }
class var globalQueue: GCDQueue { get }
class var highPriorityGlobalQueue: GCDQueue { get }
class var lowPriorityGlobalQueue: GCDQueue { get }
class var backgroundPriorityGlobalQueue: GCDQueue { get }
class func serialQueue() -> GCDQueue
class func concurrentQueue() -> GCDQueue
func queueBlock(block: dispatch_block_t)
func queueBlock(block: dispatch_block_t, afterDelay seconds: Double)
func queueBlock(block: dispatch_block_t, inGroup group: GCDGroup)
func queueAndAwaitBlock(block: dispatch_block_t)
func queueAndAwaitBlock(block: ((Int) -> Void), iterationCount count: Int)
func queueBarrierBlock(block: dispatch_block_t)
func queueAndAwaitBarrierBlock(block: dispatch_block_t)
func queueNotifyBlock(block: dispatch_block_t, inGroup group: GCDGroup)
func suspend()
func resume()
信号量在 GCDSemaphore 类中实现。
GCDSemaphore()
GCDSemaphore(value: CLong)
func signal() -> Bool
func wait()
func wait(seconds: Double) -> Bool
组在 GCDGroup 类中实现。
GCDGroup()
func enter()
func leave()
func wait()
func wait(seconds: Double) -> Bool