关闭

iOS多线程的简单实现方式

标签: iOS多线程的简单实现方式iOS多线程GCDNSThread
168人阅读 评论(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
查看评论

iOS多线程几种不同方式简单使用

iOS多线程几种不同方式简单使用: 1、performSelector.... 2、NSThread 3、NSOperation 4、gcd
  • lvdezhou
  • lvdezhou
  • 2015-11-09 09:28
  • 2423

iOS的三种多线程技术 对比分析

1.iOS的三种多线程技术                     1.NSThread 每个NSThread对象对应一个线程,量级较轻(真正的多线程) 2.以下两点是苹果专门开发的“并发”技术,使得程序员可以不再去关心线程的具体使用问题 ØNSOperatio...
  • fhbystudy
  • fhbystudy
  • 2014-04-10 17:07
  • 10576

IOS多线程实现方式

IOS应用开发中我们可以使用如下san 1.、NSThread  2、Cocoa NSOperation (iOS多线程编程之NSOperation和NSOperationQueue的使用) 3、GCD  全称:Grand Central Dispatch( iOS多线程编程之G...
  • pingchangtan367
  • pingchangtan367
  • 2014-07-24 15:05
  • 9667

多线程底层的实现

多线程的底层实现? 1)首先搞清楚什么是线程、什么是多线程 1个进程要想执行任务,必须得有线程(每1个进程至少要有1条线程) 线程是进程的基本执行单元,一个进程(程序)的所有任务都在线程中执行 比如使用酷狗播放音乐、使用迅雷下载电影,都需要在线程中执行。 多线程? 1个进程中可以开启多条线...
  • BaiHuaXiu123
  • BaiHuaXiu123
  • 2016-03-12 14:35
  • 2665

iOS 多线程的几种实现方式

iOS 支持多个层次的多线程编程,层次越高的抽象程度越高,使用起来也越方便,也是苹果最推荐使用的方法。下面根据抽象层次从低到高依次列出iOS所支持的多线程编程范式: 1, Thread; 2, Cocoa operations; 3, Grand Central Dispatch (GCD) ...
  • zwp438123895
  • zwp438123895
  • 2014-06-17 21:44
  • 300

一个简单的Thread缓冲池的实现

在应用中,我们常常需要Thread缓冲池来做一些事以提高程序的效率和并发性。本文演示了如何利用Queue这种数据结构实现一个简单的Thread缓冲池。 一个Thread缓冲池可以设计成以下这样:缓冲池由几个工作Thread和一个Queue组成,Client负责把任务放到Queue里面(pu...
  • DaiJiaLin
  • DaiJiaLin
  • 2004-10-17 13:11
  • 6647

iOS多线程 简单实现

iOS中多线程主要有三种 ThreadGCDNSOperation ==================多线程用处就不在说了======================= 一,Thread线程,主要有两种方法,一种是类方法,一种是对象方法 其中类方法主要实现方法: #import &q...
  • ThroneMan
  • ThroneMan
  • 2015-12-10 18:45
  • 382

Java多线程实现的四种方式

Java多线程实现的方式有四种 1.继承Thread类,重写run方法 2.实现Runnable接口,重写run方法,实现Runnable接口的实现类的实例对象作为Thread构造函数的target 3.通过Callable和FutureTask创建线程 4.通过线程池创建线程前面两种可以归结为一类...
  • u011480603
  • u011480603
  • 2017-07-19 01:45
  • 1562

多线程——Java多线程实现的三种方式

实现多线程的几种方式,建议使用runable实现,不管如何最终都需要thread.start( )来启动线程。
  • xdd19910505
  • xdd19910505
  • 2016-03-22 20:30
  • 2206

多线程实现的两种方式及其区别

继承Threadpublic class Demo2_Thread { public static void main(String[] args) { MyThread mt = new MyThread(); mt.start(); // 注意调用的sta...
  • StriverLi
  • StriverLi
  • 2017-02-26 21:07
  • 1638
    个人资料
    • 访问:29870次
    • 积分:692
    • 等级:
    • 排名:千里之外
    • 原创:48篇
    • 转载:6篇
    • 译文:0篇
    • 评论:1条
    文章分类
    最新评论