码迷,mamicode.com
首页 > 移动开发 > 详细

iOS学习 --多线程和GCD的理解

时间:2015-09-20 16:21:50      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:

进程的概念:每一个进程都是一个应用程序,都有独立的内存空间,一般情况下,一个应用存在一个进程,但也有多个进程的情况(比如浏览器)

同一个进程中的线程共享内存中的内存和资源。

多线程的概念:每一个程序都有一个主线程,调用main函数启动

主线程的生命周期和应用程序是绑定的,程序退出时,主线程也就停止了

多线程技术表示,使用多线程可以提高CPU的使用率,防止主线称堵塞。

任何有可能堵塞主线称的任务不要放在主线称执行(访问网络

注意:线程的使用不是无节制的,只有主线称有直接修改UI的能力


iOS三种多线程技术的优缺点:

1.NSThread:

 优点:NSThread比其他两个轻量级,使用简单

缺点:需要自己管理线程的生命周期、线程同步、加锁、睡眠及唤醒等。线程同步对数据的加锁有一定的系统开销


2.NSOperation:

不需要关心线程管理,数据同步的事情,可以把精力放在自己需要执行的操作上

NSOperation是面向对象的


3.GCD

Grand Central Dispatch 是由苹果开发的一个多核编程的解决方案。iOS4.0+才能使用,是替代NSThread、NSOperation的高效和强大的技术

GCD是基于c语言的











iOS学习 --多线程和GCD的理解

标签:

原文地址:http://my.oschina.net/zhangqy/blog/508746

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!