可可 – 如何暂停NSThread直到通知?

可可 – 如何暂停NSThread直到通知?,第1张

概述我有一个工作线程,我想做一点任务,然后暂停&等待另一个线程的“ok,continue”命令,然后暂停&等等 用例是:控件对象是一个视图,我想显示有关工作线程中发生的情况的信息,并允许我通过工作人员“单步”,因为它是事情. 我在工作中的丑陋和沉重的事情是这样的: NSLog(@"paused");paused = YES;while (paused){ [NSThread sleep 我有一个工作线程,我想做一点任务,然后暂停&等待另一个线程的“ok,continue”命令,然后暂停&等等

用例是:控件对象是一个视图,我想显示有关工作线程中发生的情况的信息,并允许我通过工作人员“单步”,因为它是事情.

我在工作中的丑陋和沉重的事情是这样的:

NSLog(@"paused");paused = YES;while (paused){    [NSThread sleepForTimeInterval:0.25];}NSLog(@".. continuing");

…但是我不禁想到必须有一个更好的方式,也许涉及NSLocks,或者一些这样的.

评论,提示建议?

谢谢!

解决方法 查看“线程指南”中的 NSCondition和 Conditions部分.代码将如下所示:

NSCondition* condition; // initialize and release this is your app requires.//Worker thread:while([NSThread currentThread] isCancelled] == NO){    [condition lock];    while(partySupplIEsAvailable == NO)    {        [condition wait];    }    // party!    partySupplIEsAvailable = NO;    [condition unlock];}//Main thread:[condition lock];// Get party supplIEspartySupplIEsAvailable = YES;[condition signal];[condition unlock];
总结

以上是内存溢出为你收集整理的可可 – 如何暂停NSThread直到通知?全部内容,希望文章能够帮你解决可可 – 如何暂停NSThread直到通知?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1031531.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存