iFlyingCoder的博客

让代码飞起来

iOS多线程的简单实现方式



 进程是指整个程序的运行  
线程:可以提高程序的运行效率(同时让程序做多中事情)
1、主线程:主要用来刷新界面
2、NSThreadNSOperationGCD


 NSThread
开辟子线程
1、
[self performSelectorInBackground:@selector(runThreadTwo) withObject:nil];
2、
[NSThread detachNewThreadSelector:@selector(runThreadTwo) toTarget:self withObject:nil];


 GCD  
//异步函数向并行队列添加任务
- (void)asyncGlobalQueue
{
   //DISPATCH_QUEUE_PRIORITY_DEFAULT可以使用0来代替,应为这是一个枚举。
    dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
    dispatch_async(queue, ^{
        //子线程1
    });
    dispatch_async(queue, ^{
        //子线程2
    });
    dispatch_async(queue, ^{
        //子线程3
    });
}

  回到主线程  

 if ([NSThread isMainThread])
 {
  //如果是主线程执行在这
 }else{//回归主线程
 dispatch_sync(dispatch_get_main_queue(), ^{
  //Update UI in UI thread here
 }


 在子线程中加载picker获取Image
[self performSelectorInBackground:@selector(loadPickerImageController)withObject:nil];
其中的loadPickerImageController 中的内容是在子线程中进行的。


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qingshuiputeng/article/details/52349971
个人分类: iOS
上一篇MAC和Window键盘对应关系、Xcode常用快捷键
下一篇coreDate的使用方法
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭