Mic*_*all 4 iphone multithreading core-data nsoperation nsoperationqueue
我即将创建一系列NSOperations并将它们运行在队列中.
它们都是顺序的并且一次运行一个.
这些操作将从Web获取数据并创建和保存核心数据管理对象.
如何处理应用程序退出的情况?由于操作在分离线程中运行,如何让主线程等到当前操作"安全"退出?在某些情况下,我很高兴线程(操作)在完成之前退出,因为在进一步的应用程序启动时,作业将继续并从中断处继续.
非常感谢,
麦克风
设计您的操作,以便他们isCancelled在适当的安全时间(开始时,在操作的一个阶段完成后等)检查他们的财产,并在那时拯救.在applicationWillTerminate,向您的操作队列发送一条-cancelAllOperations消息,然后通过-waitUntilAllOperationsAreFinished消息进行操作.这将阻止,直到队列中的所有操作都完成.如果所有操作都isCancelled正确处理,这不应该减慢应用程序的退出速度.
需要注意的一件事是-waitUntilAllOperationsAreFinished,在调用时applicationWillTerminate,将阻塞主线程.如果您的任何操作在主线程上执行选择器,那么您的应用程序将在此时冻结.
| 归档时间: |
|
| 查看次数: |
2133 次 |
| 最近记录: |