美文网首页
dispatch_source_set_timer注意事项

dispatch_source_set_timer注意事项

作者: 小马飞驰bnb | 来源:发表于2017-11-03 17:57 被阅读328次
    void dispatch_source_set_timer(dispatch_source_t source, dispatch_time_t start, uint64_t interval, uint64_t leeway);
    

    此函数用来为timer source设置开始时间、间隔和容许值。

    如果需要的话,你可以对同一个timer source对象多次调用本函数,以此来重置它的时间间隔。

    参数start决定了timer使用的时钟。如果start time是DISPATCH_TIME_NOW或者以dispatch_time初始化的,则timer使用mach_absolute_time为基础。否则,如果start time是使用dispatch_walltime创建的,则timer使用gettimeofday(3)为基础。

    参数leeway是一个微小的时间量,单位是纳秒,系统为了改进性能和介绍耗电,会根据这个时间来推迟timer的执行以与其它系统活动同步。比如,一个程序可能执行一个5分钟为间隔的周期性任务,这个任务有30秒的容许值。要注意,所有timer都需要考虑一些潜在因素,哪怕leeway这个容许值被指定为0。
    调用这个函数没有任何效果,如果timer source已经被取消。

    相关文章

      网友评论

          本文标题:dispatch_source_set_timer注意事项

          本文链接:https://www.haomeiwen.com/subject/fyotmxtx.html