深入理解Objective - C的基础API与语言特性
1. 多线程与并发处理
1.1 NSThread
在OS X和iOS中,有多种API可用于处理多线程和并发。NSThread是较为基础的类,但相较于新的Grand Central Dispatch(GCD)并发API,其灵活性较差。GCD于Mac OS X 10.6和iOS 4引入。
长时间运行的任务,如大型计算或同步网络活动,不应在主线程中进行,否则会导致用户界面交互卡顿。以下是使用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
waitUntilDone:NO];
}
}
-(void)taskFinished
{
//perhaps update the user interface
}
-(void)startTaskInBackground
{
[NSThread detachNewThreadSelector:@selector(performLongRunningTask) toTarget:sel
超级会员免费看
订阅专栏 解锁全文
36

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



