NSThread的优点:叫其他更轻量级。缺点:需要自己管理线程的声明周期和线程同步,线程同步同步锁也会导致系统的一些开销
NSOperation:不需要关心线程的声明周期,和线程同步的问题。NSOperation是一个抽象类,它不能直接使用,需要使用它的子类,子类有NSInvocationOperation和NSBlockOperation,把子类对象放到NSOperationQueue队列中执行。NSOperation更加的面向对象,方便人们的思维。
GCD:是一款苹果开发的多核编程的解决方案,底层基于C语言。缺点:可能会导致死锁
GCD死锁
- (void)viewDidLoad{
[
super
viewDidLoad];
NSLog(@
"=================4"
);
dispatch_sync(dispatch_get_main_queue(),
^{ NSLog(@
"=================5"
); });
NSLog(@
"=================6"
);
}
|