美文网首页
(实验)Swift GCD定时

(实验)Swift GCD定时

作者: LoseAnson洛施安森 | 来源:发表于2017-12-19 10:59 被阅读11次

延迟执行

DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
    print(Thread.current.description)
    print("Hello Anson!!")
}
print("Hello Word!")

//Command Line tool程序中添加的    
RunLoop.current.run()

输出

Hello Word!
<NSThread: 0x101807600>{number = 1, name = main}
Hello Anson!!

定时器

//设定定时时间为5s
var countTime = 5
// 在global线程里创建一个时间源
let codeTimer = DispatchSource.makeTimerSource(queue:DispatchQueue.global())
// 设定这个时间源是每1秒循环一次,立即开始
codeTimer.schedule(deadline: .now(), repeating: .milliseconds(1000))
// 设定时间源的触发事件
codeTimer.setEventHandler(handler: {
    // 每秒计时一次
    print(Date().description +  "------ \(countTime)")
    countTime = countTime - 1
    // 时间到了取消时间源
    if countTime <= 0{
        codeTimer.cancel()
    }
})
//启动定时器
codeTimer.activate()
RunLoop.current.run()

输出

2017-12-19 02:57:25 +0000------ 5
2017-12-19 02:57:26 +0000------ 4
2017-12-19 02:57:27 +0000------ 3
2017-12-19 02:57:28 +0000------ 2
2017-12-19 02:57:29 +0000------ 1

相关文章

  • (实验)Swift GCD定时

    延迟执行 输出 定时器 输出

  • swift GCD-定时器(DispatchSourceTime

    前言: 了解swift GCD 与OC GCD请看我的其他总结文章,这篇文章只是对swift GCD定时器的一个实...

  • GCD定时器的实现

    GCD定时器 GCD定时器不受RunLoop约束,比NSTimer更加准时 证明,实现GCD定时器

  • (实验)Swift GCD并发

    本实验使用的是Command Line Tool程序,并非IOS APPlication 异步调用 输出 异步调用...

  • iOS - GCD中的定时器

    GCD定时器优点:① GCD定时器不受RunLoop约束② 比NSTimer更加准时。 GCD定时器用法敲 dis...

  • Swift-GCD

    对原Swift-GCD升级 SwiftGCD Swift-GCD Package GCDGroup, GCDQue...

  • Swift3.0之后GCD定时器如何创建

    Swift3.0很多语法都有变化,GCD的定时器也发生了变化 1.首先,创建定时器,和之前的有所不同,代码如下: ...

  • GCD定时器

    GCD定时器 GCD定时器不受RunLoop的影响,调用频率比较固定

  • GCD

    iOS多线程 Swift4 GCD深入解析swift GCD 的一些高级用法GCD 之线程组(Dispatch G...

  • GCD定时器使用

    iOS中的常用定时器分为这几类: NSTimer CADisplayLink GCD定时器 选择GCD定时器原因:...

网友评论

      本文标题:(实验)Swift GCD定时

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