【问题标题】:Specify to call someting when main thread is idle指定在主线程空闲时调用 someting
【发布时间】:2011-09-09 11:34:47
【问题描述】:

假设我有一个低优先级的工作。就像检查队列是否有要抓取的 URL 或其他东西。

我该怎么做?

我可以使用计时器来检查每一秒,但我相信还有更好的方法。

【问题讨论】:

    标签: objective-c multithreading xcode


    【解决方案1】:

    您可以使用 GCD 在主队列中调度低优先级的任务。

    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
          //Your code here
    });
    

    您可以将此代码放入循环、计时器或任何您想要的内容中。

    【讨论】:

    • 我已经想出了这个。这实际上会同时执行这些操作,而不是在计算机空闲时执行,除非优先级较低。
    • 这实际上不会在主线程上运行,而是在后台队列上运行。我正在寻找一种方法来安排必须在主线程上运行的东西,但最好在它空闲时进行。
    猜你喜欢
    • 1970-01-01
    • 2012-09-28
    • 1970-01-01
    • 2019-12-03
    • 1970-01-01
    • 2014-09-26
    • 2014-05-05
    • 2013-05-04
    • 2019-08-18
    相关资源
    最近更新 更多