美文网首页
GCD下的定时器

GCD下的定时器

作者: 锦瑟流年终成忆 | 来源:发表于2016-07-26 10:39 被阅读26次

    dispatch_source_t timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, <#dispatchQueue#>);

    dispatch_source_set_timer(timer, DISPATCH_TIME_NOW, <#intervalInSeconds#> * NSEC_PER_SEC, <#leewayInSeconds#> * NSEC_PER_SEC);

    dispatch_source_set_event_handler(timer, ^{

    <#code to be executed when timer fires#>

    });

    dispatch_resume(timer);

    <#dispatchQueue#>)

    这个参数是说 要在主线程还是子线程中执行  一般为主线程

    <#intervalInSeconds#>

    这个参数是传入一个秒数  比如3 会在3s后进入到下一张图片

    <#leewayInSeconds#>

    这个参数告诉系统我们需要计时器触发的精准程度。所有的计时器都不会保证100%精准,这个参数用来告诉系统你希望系统保证精准的努力程度。如果你希望一个计时器每五秒触发一次,并且越准越好,那么你传递0为参数。另外,如果是一个周期性任务,比如检查email,那么你会希望每十分钟检查一次,但是不用那么精准。所以你可以传入60,告诉系统60秒的误差是可接受的。

    相关文章

      网友评论

          本文标题:GCD下的定时器

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