[英]Run code for a certain length of time and kill if necessary
我正在使用脚本桥从可可应用程序中查询iTunes。 有时iTunes会弹出一个窗口(例如ipod需要更新等),而当该弹出窗口打开时,我无法从iTunes获取任何信息。 因此,如果在这种状态下从iTunes请求信息,我的应用程序将完全锁定,直到该弹出窗口被关闭。
所以我需要某种机制,可以在单独的线程中请求一些简单的东西,以查看是否可以从中获得响应...以及该单独的线程是否在短时间内没有收到响应线程只会杀死该线程,因此知道在特定时间不查询iTunes。
任何想法如何创建这样的机制? 我搜索了杀死线程的方法,但没有找到任何方法。
您的问题与线程无关。 这是您的超时时间太长。 无论您做什么,大约一分钟后都会失败。
要解决此问题,请将setTimeout:
消息发送到SBApplication对象 ,并传递您希望其等待的时间。 该值以刻度为单位,每秒精确为60。
(一些消息来源说60.15,而苹果自己的文档说“大约” 60,但是我只是测量了十分钟的TickCount
,而除以600秒的结果恰好是60.0。我使用的代码是:
NSLog(@"Ticks per second: %f", (end - start) / (60.0 * numMinutes));
end
和start
是TickCount
结果。)
签出NSOperation / NSOperationQueue。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.