将ios代码在后台(子线程)执行的两种简单方式

a.使用gcd

   //切换到线程中执行
            dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
                // Do the work in background
                [[MyManager shareInstance] myMethod];
            });

b.使用performSelectorInBackground方法

               [self performSelectorInBackground:@selector(myMethod:)
                                                              withObject:myObj];

对应的原始方法:- (void)myMethod:(id)myObj;


其中方式a适应性强,使用方便,唯一可能是缺点的地方就是使用了gcd+block,代码看上去略长,不过习惯了这种语法也不是什么问题,推荐方式a.

你可能感兴趣的:(多线程技术)