蓝懿IOS多线程管理进程间访问

今天是年后的第一次课,开始讲多线程的东西,刘国斌老师从基础讲起,思路清晰易懂,容易接受。

多线程

1.不能把耗时操作放到主线程中 因为渲染界面、接收用户触摸事件等操作全部在主线程中,如果把耗时代码写到了主线程中会导致界面阻塞

2.不能把更新界面操作放到子线程中,因为如果写到子线程中会报错,而且修改的效果并不能立即呈现,需要回到主线程中去修改页面从才能保证修改效果及时显示出来

耗时操作:1.网络相关操作 2.大量运算 3.和大文件相关  4.线程睡眠代码

开启子线程的方式有三种:

1.NSThread:OC语言提供的开启线程的方式不涉及线程队列

2.GCD:Grand Central Dispatch(中央任务分发)C语言所支持的通过block实现的开启线程的方式

3.NSOperation:通过OC语言实现,可以控制线程并发的数量 也可以设置线程和线程之间的依赖关系

GCD和NSOPeration比较:GCD更底层所以更高效,代码更简洁,NSOperation更灵活提供的线程相关的方法更多

线程队列:串行队列 和 并行队列

同步:指的是依次执行   不同时执行

通过开启线程去下载图片又叫做,异步加载或延迟加载

异步加载:指的是多线程加载 意思是在不影响主线程的情况下进行图片加载     同时执行

多线程安全问题:通过线程同步的方式解决安全问题

线程同步的方式有三种:1.同步代码块 2.NSLock 3.NSCondition

程间通信:通过performSelector的方式实现线程间通信

进程间通信:进程代表应用程序   两个应用程序间通信

你可能感兴趣的:(蓝懿IOS多线程管理进程间访问)