DispatchSource 之 add

创建自定义队列 Queue , 将 source event handler 提交到 Queue 中去。
soure.add(data: count) 来触发 事件, source 的 queue 异步接收,过程中,会合并数据。合并的时机不确定,貌似可以可用来,做进度展示,比较合适

let queue = DispatchQueue(label: "myqueue")
let source = DispatchSource.makeUserDataAddSource(queue: queue);
source.setEventHandler {
    print("\(source.data)....\(Thread.current)")
}

//source.activate()
source.resume()
print("0-----")
print("1-----")
var count:UInt = 1
repeat {
    count += 1
    source.add(data: count)
    print("\(count)")
} while (count < 5)

你可能感兴趣的:(DispatchSource 之 add)