你的位置:首页 > 软件开发 > 操作系统 > iOS 多线程 01

iOS 多线程 01

发布时间:2015-09-12 21:00:03
进程进程是指在系统中正在运行的一个应用程序线程1个进程要想执行任务,必须得有线程(每1个进程至少要有1条线程)1个线程中任务的执行是串行的(执行完上一个才能执行下一个)多线程1个进程中可以开启多条线程,多条线程可以并行(同时)执行不同的任务线程可以并行, 但是每个线程中的任务还是 ...

iOS  多线程 01

  • 进程

    • 进程是指在系统中正在运行的一个应用程序
  • 线程

    • 1个进程要想执行任务,必须得有线程(每1个进程至少要有1条线程)
    • 1个线程中任务的执行是串行的(执行完上一个才能执行下一个)
  • 多线程

    • 1个进程中可以开启多条线程,多条线程可以并行(同时)执行不同的任务
    • 线程可以并行, 但是每个线程中的任务还是串行
  • 多线程原理

    • 多线程并发(同时)执行,其实是CPU快速地在多条线程之间调度(切换)
  • 多线程优缺点

    • 优点
      • 能适当提高程序的执行效率
      • 能适当提高资源利用率(CPU、内存利用率)
    • 缺点
      • 线程越多,CPU在调度线程上的开销就越大
      • 如果开启大量的线程,会降低程序的性能
      • 程序设计更加复杂:比如线程之间的通信、多线程的数据共享

  • pthread
    • 类型: C语言中类型的结尾通常 _t/Ref,而且不需要使用 *
    • /*参数:1. 线程代号的地址2. 线程的属性3. 调用函数的指针 - void *(*)(void *) - 返回值 (函数指针)(参数) - void * 和 OC 中的 id 是等价的4. 传递给该函数的参数返回值:如果是0,表示正确如果是非0,表示错误码*/NSString *str = @"jx";pthread_t thid;int res = pthread_create(&thid, NULL, &demo, (__bridge void *)(str));if (res == 0) { NSLog(@"OK");} else { NSLog(@"error %d", res);}

      原标题:iOS 多线程 01

      关键词:IOS

IOS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。