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
//数据操作,比如对数组添加数据
})