关闭

iOS多线程的简单实现方式

标签: iOS多线程的简单实现方式iOS多线程GCDNSThread
66人阅读 评论(0) 收藏 举报
分类:


 进程是指整个程序的运行  
线程:可以提高程序的运行效率(同时让程序做多中事情)
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 中的内容是在子线程中进行的。


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:15151次
    • 积分:597
    • 等级:
    • 排名:千里之外
    • 原创:45篇
    • 转载:6篇
    • 译文:0篇
    • 评论:2条
    文章分类
    最新评论