深入探索Objective - C基础API与语言特性
1. 线程与Grand Central Dispatch
在OS X和iOS系统中,有多种API可用于处理多线程和并发操作。基础的 NSThread 类相对老旧,灵活性不如在Mac OS X 10.6和iOS 4中引入的Grand Central Dispatch(GCD)并发API。GCD以及Objective - C的 NSOperation 和 NSOperationQueue 类,都提供了基于队列和任务的并发操作模式,这比普通的线程创建和使用API更加简单和灵活。
长运行任务,如大型计算或同步网络活动,不应在主线程中执行。因为这会阻塞用户界面交互,直到任务完成。尤其是在处理网络请求时,网络资源可能暂时不可用,导致长时间等待。
下面是使用 NSThread 启动后台线程的示例代码:
-(void)performLongRunningTask
{
@autoreleasepool
{
//perform some kind of long-running task
//maybe fetching from a network store or intense computation
[self performSelectorOnMainThread:@selector(taskFinished) withObject:nil waitUntilDon
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



