美文网首页
iOS条件锁保活线程

iOS条件锁保活线程

作者: iOS虞 | 来源:发表于2022-05-27 08:23 被阅读0次

不废话直接上代码:

class ViewController: UIViewController {
      //创建条件锁
      var conditionLock = NSCondition()
      //执行任务
      var executeTask:(() -> Void)!
      //是否停止
      var isStop = false

      override func viewDidLoad() {
        super.viewDidLoad()

        let thread = Thread(block: {
            repeat {
                self. conditionLock.lock()
                if self.executeTask != nil {
                    self.executeTask?()
                    self.executeTask = nil
                }
                self. conditionLock.wait()
                self. conditionLock.unlock()
            } while !self.isStop
        })

        thread.start()
    }
    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?){
        executeTask = {
            //要执行的任务
            print("-------\(Thread.current)")
        }
    }
    //停止
    func stop() {
        conditionLock.signal()
        isStop = true
    }
}

相关文章

  • iOS条件锁保活线程

    不废话直接上代码:

  • iOS底层原理——浅谈RunLoop

    RunLoop应用:线程保活 线程保活、控制销毁 iOS-浅谈RunLoop8iOS底层原理总结 - RunLoo...

  • iOS NSThread 保活线程代码封装

    iOS NSThread 保活线程代码封装

  • iOS 线程保活

    [self performSelectorInBackground:@selector(dealInsertMo...

  • iOS 线程保活

    1、线程保活管理类.h文件 // // ZFPermenantThread.h // ZFThread // //...

  • iOS线程保活

    简介 大家好!我是Tony,一个热爱技术,希望运用技术改变生活的的追梦男孩。闲话不多说,今天聊聊iOS的线程保活。...

  • iOS:线程保活

    自定义子线程MZChildThread 使用

  • iOS 线程保活

    开发中,经常会遇到将耗时操作放到子线程中执行,来提升应用性能的场景。当子线程中的任务执行完毕后,线程就被立刻销毁。...

  • iOS线程保活

    一.什么是线程保活 如图1所以,任务执行完成后,线程会退出。线程的创建和销毁比较耗性能,如果需要在一条线程中频繁的...

  • iOS 线程保活

    JXPermenantThread 子线程保活: 快速创建子线程,让子线程一直存活,并提供执行任务的block,直...

网友评论

      本文标题:iOS条件锁保活线程

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