美文网首页
Swift创建线程

Swift创建线程

作者: yaoxp | 来源:发表于2017-08-09 13:06 被阅读46次

最近在对比Objective-c学习Swift

创建线程执行一个方法就结束线程,这种可以用GCD或者queue实现,没必要浪费资源创建一个新线程。本文中说的创建线程是创建一个不会结束的线程

直接上干货,Objective-c中创建线程参考AFNetworking 2中的方法:

Jietu20170502-152309@2x.jpg

Swift中创建不结束的线程同样需要显示的启动runloop

override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        
        createThreadOne()
        createThreadTwo()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    func createThreadOne() {
        let newThread = Thread.init(target: self, selector: #selector(threadOne), object: nil)
        newThread.start()
    }
    
    func threadOne() {
        print("thread one func")
        Timer.scheduledTimer(withTimeInterval: 2, repeats: true, block: { (timer) in
            print("thread one")
        })
        RunLoop.current.add(Port(), forMode: .commonModes)
        RunLoop.current.run()
    }
    
    func createThreadTwo() {
        Thread.detachNewThreadSelector(#selector(threadTwo), toTarget: self, with: nil)
    }
    
    func threadTwo() {
        print("thread two func")
        Timer.scheduledTimer(withTimeInterval: 1, repeats: true, block: {
            (timer) in
            print("thread two")
        })
        RunLoop.current.add(Port(), forMode: .commonModes)
        RunLoop.current.run()
    }

相关文章

  • Swift创建线程

    最近在对比Objective-c学习Swift 创建线程执行一个方法就结束线程,这种可以用GCD或者queue实现...

  • Swift3 中的单例singleton 创建

    Swift2 到 Swift 3 迁移的变化 Swift2 中创建单例 依旧是用线程 dispatch onece...

  • Swift - 简单的线程封装

    一、多线程开发-异步 创建一个新的swift文件,然后写上下面的代码 调用的时候: 二、多线程开发-延时 三、多线...

  • Thread

    使用Thread创建线程的几种方式(2016.12.15更新至swift3.0版本) 第一种方式: Thread(...

  • 使用Swift创建Swift模块 - 静态链接库

    使用Swift创建Swift模块 - 静态链接库 使用Swift创建Swift模块 - 静态链接库

  • Java 多线程之线程的创建及其使用

    一、创建线程以及启动线程 二、停止线程 三、线程类中函数详解 一、创建线程以及启动线程 创建线程:Java中创建线...

  • Swift与OC混编

    标签:Swift 在Swift中调用OC 首先创建OC/Swift工程 然后创建swift/OC文件,Xcode会...

  • Swift Package Manager

    Swift Package Manager Linux swift 安装 创建项目 创建module

  • swift 网络请求框架Moya的使用

    创建swift的文件HttpRequestFile 创建swift的文件HttpRequestExtension ...

  • 多线程

    创建一个多线程 创建多线程-继承线程类 创建多线程-实现Runnable接口 创建多线程-匿名类code

网友评论

      本文标题:Swift创建线程

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