iOS使用多线程提高数据并发访问 之一

发布时间:2020-06-11 22:03:53 作者:iKingLai
来源:网络 阅读:2709

在本章,你会学到:


如今的计算设备已经有越来越多的处理器。iPhone也不例外;在不久的将来,iPhone将会有许多处理器;事实上,Android有些设备已经拥有双核处理器。因此,我们需要知道如何在多处理器上开发程序。这仅仅是我们学习多线程的一个原因。线程这种渠道能够帮助你解决一些其他问题,比如异步代码,文件和网络IO,或者减缓计算过程。


线程和多线程编程


简单来说,线程是操作系统运行的一序列命令。不同的线程能够运行在相同的处理器或不同的处理器上,这取决于操作系统,如图6-1。


正常情况下,操作系统打开一个新的应用程序时,只有一个线程 --  换句话说,从头到尾只有一个命令集。多线程是指,系统有多于一个的命令集在并发情况下运行。在一个多处理器系统中,每一个线程可以在每一个处理器上同时执行,如图6-1 。


iOS使用多线程提高数据并发访问 之一


但是,在单个处理器系统中,CPU在切到其他线程之前,会在一个线程中处理某些命令。在图6-2中,在进入线程2之前,CPU在线程1中执行一些命令。然后在进入线程3之前,CPU在线程2中执行命令。


沿着处理的路径,不同的线程可以从不同的对象中调用不同的方法,如图6-3。线程1和线程2可以同时使用相同的对象调用相同的方法,线程1和线程2也可以调用Object 1的 Method 1和Object 3的Method 3。但是,当线程1调用Object 2的Method 2,线程2调用Object 4的Method 4的时候,线程1和线程2可以调用不同的对象和方法。


iOS使用多线程提高数据并发访问 之一


在同一个应用中使用多线程,有优点也有缺点。下面这个部分将会讨论他们。多线程最大的好处是可以将其他任务从main UI中解耦出来,这样UI就不会阻塞或冻结。


线程术语


下面是一些重要的线程术语:


线程和进程有什么不同,当他们都用来执行并发逻辑?进程在下面这些方面和线程不同:




推荐阅读:
  1. 移动端H5中百度地图的click事件的案例分析
  2. 用exfe.js和canvas如何解决移动端 IOS 拍照上传图片翻转问题

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

ios 性能优化

上一篇:Python 全局变量扫盲

下一篇:TextBox只输入数字(包括负号和小数点)

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》