GCD定时器

定时器的实现:

GCD定时器

GCD定时器优缺点:

1.它不需要显示的停掉定时器,由系统帮助我们处理。不需要考虑内存泄露问题。

2.时间精度上存在问题,存在误差又是达到0.2秒。

3.这个定时器作用于他自己开辟线程里边的runloop中,在tableView中使用不会出现问题。

NSTimer定时器优缺点:

1.定时器精度较为准确。

2.需要考虑停掉定时器,来解决内存释放的问题。

3.NSTimer是作用于当前的runloop里边的,如果是把定时器用到tableView里边可能会出现问题。

注意:

为什么要把这类的定时器source设置为全局变量呢?设置为局部变量不可以吗?答案是不可以。先明确子线程的生命周期这个概念:

当子线程的任务执行完之后,子线程会自动退出。

那这里我们的任务什么时候结束呢?这里结束的标志依赖于source的生命周期,source消亡,当source消亡就意味着线程终止。因此我们不能把它生命为局部变量。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容