iOS用多线程实现的定时器

作者: JamesZhang_ | 来源:发表于2017-03-09 10:34 被阅读120次

```

__block int seconds = 60; //倒计时时间

dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);

dispatch_source_t _timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0,queue);

dispatch_source_set_timer(_timer,dispatch_walltime(NULL, 0),1.0*NSEC_PER_SEC, 0); //每秒执行

dispatch_source_set_event_handler(_timer, ^{

if(seconds <= 0){ //倒计时结束,关闭

dispatch_source_cancel(_timer);

dispatch_async(dispatch_get_main_queue(), ^{

// 倒计时完成后的操作 根据需求设置

});

}else{

dispatch_async(dispatch_get_main_queue(), ^{

// 倒计时过程中的操作

});

seconds--;

}

});

dispatch_resume(_timer);

```

相关文章

  • iOS用多线程实现的定时器

    ``` __block int seconds = 60; //倒计时时间 dispatch_queue_t qu...

  • Java多线程1

    创建多线程的3种方式 1、继承Thread类实现多线程 2、实现Runnable接口方式实现多线程 定时器 线程的...

  • Java如何实现延时访问

    调用某个方法后,我们需要程序过一段时间再去处理,就可以用多线程阻塞或Timer定时器来实现 方法一 多线程阻塞实现...

  • IOS多线程二 NSThread简约而不简单

    IOS多线程二NSThread简约而不简单 今天就来着手教大家在IOS中简单的实现多线程。IOS实现多线程的方式有...

  • iOS 单例计时器(页面切换仍然计时)

    iOS 单例计时器(页面切换仍然计时)NSTimer 定时器(2)GCD 多线程(4) //–––––––––––...

  • iOS中的多线程

    iOS中的多线程 现存的iOS多线程解决方案 现在在iOS中要实现多线程有如下四种方法。 PthreadsNSTh...

  • iOS 定时器耗电探究

    iOS开发中的几种定时器 iOS开发中定时器实现方式大致有三种,一种是Timer实现,一种是通过GCD自己创建,另...

  • IOS NSThread线程处理 子线程的启动与结束

    IOS NSThread线程处理 子线程的启动与结束 iOS多线程开发-多线程实现方式 -(void)blockO...

  • 多线程

    多线程: iOS 多线程实现的种类分别是NSThread\NSOperationQueue\NSObject\GC...

  • iOS 多线程基础

    转自:iOS 多线程基础 - 简书 多线程同步和异步的区别?IOS中如何实现多线程的同步? 异步:可以同时执行多条...

网友评论

    本文标题:iOS用多线程实现的定时器

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