GCD中Dispatch_Source中的DispatchSourceTimer類(lèi)型可以實(shí)現(xiàn)定時(shí)器功能
優(yōu)勢(shì):不需加入runLoop執(zhí)行,因此子線程也可使用
執(zhí)行流程: 當(dāng)配置一個(gè)dispatch時(shí),需要指定監(jiān)測(cè)的事件、dispatchqueue、以及處理事件的block或函數(shù)。當(dāng)事件發(fā)生時(shí),dispatch source會(huì)提交你的block或函數(shù)到指定的queue去執(zhí)行。
使用注意點(diǎn):
切記在dispatch_suspend狀態(tài)下不能直接釋放timer,否則會(huì)發(fā)生崩潰
解決方法:直接調(diào)用cancle()再釋放,或判斷調(diào)用了dispatch_suspend后先調(diào)用resume()再釋放
以下是實(shí)現(xiàn)倒計(jì)時(shí)的示例:

倒計(jì)時(shí)
以下是延時(shí)一次的示例:
