闻道丶iOS(大杂烩)

1、多线程基本概念 和 iOS 中多线程技术

2016-06-20  本文已影响324人  Laughingg

1、什么是多线程

多线程(英语:multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。

这个是百度上的解释!

2、为什么要学习多线程技术

目的都差不多就是:

你不希望用户在使用你的软件的过程中出现卡顿吧!
软件出现卡顿的主要原因就是 UI 线程处理了太多的耗时操作,耗时操作操作没有处理完成,UI界面就出现短暂性的停顿(卡顿)。

软件界面卡顿的解决方案:

提高 app 处理某一任务的能力:

3、多线程的基本概念

多线程的原理
同一时间,cpu 只能处理1条线程,只有1条线程在工作(执行)。
多线程并发执行,其实是 cpu 快速的在多条线程之间调度(切换)。

多线程的优缺点
优点
* 能适当的提高程序的执行效率。
* 能适当提高资源的利用率。(cpu 和 内存的利用率)

缺点
* 开启的线程需要占用一定的内存空间,(默认每一条线程占用 512kb的内存)
开启大量的线程,会占用大量的内存空间,降低程序的性能。
* 线程越多,cpu 在调度线程上的开销就越大。
* 线程越多,就越耗电(手持设备必须考虑这个问题)
* 程序设计更加复杂: 线程间通讯,多线程的数据共享。

线程在 5 到 6 条之间是比较合理的。


iOS 中多线程技术的使用

1、主线程

默认会开启1一条线程,称之为主线程。 iOS 中称之为 UI线程
(在 iOS 开发中所有视图更新的操作都是在 主线程中完成的)

主线程的主要作用

使用注意

2、 iOS 中多线程技术

pthread : (纯属打酱油的)

NSThread:

GCD

NSOperation

推荐博客:

objc 中国——并发编程:API 及挑战

上一篇 下一篇

猜你喜欢

热点阅读