1.單例模式
class Singleton: NSObject {
class func shareSingle() -> Singleton {
struct temps{
static var instance: Singleton?
static var myT: dispatch_once_t = 0
}
//保證方法只能運行一次(臨界區)
dispatch_once(&temps.myT, { () -> Void in
temps.instance = Singleton()
})
return temps.instance!
}
}
//新建自定義線程
var myQueue = dispatch_queue_create("snow.thread", DISPATCH_QUEUE_CONCURRENT)
//阻塞其他線程,避免讀者寫者問題(必須使用自定義線程)
dispatch_barrier_async(myQueue, { () -> Void in
//數據操作,比如對數組添加數據
})