进程和线程

来源:互联网 发布:房天下 源码 编辑:程序博客网 时间:2024/04/30 08:39
1、进程和线程
一次只能运行一个进程
一个进程可以包括多个线程
一个进程的内存空间是共享的,每个线程都可以共享这些内存
一个线程使用某些内存时,其他线程必须等它结束,才能使用这一内存
线程锁(“互斥锁”):防止多个线程同时读写某一块内存区域
某些内存区域,只能供给固定数目的人使用,“信号量”用来保证多个线程不会相互冲突

2、操作系统的设计,可以归纳三点
以多进程形式,允许多个任务同时进行
以多线程形式,允许单个任务分成不同的部分运行
提供协调机制

3、进程是一个执行中的程序
进程具有创建其他进程的功能
4、进程的缺点
独立的地址空间使得不同的进程共享状态信息变的非常困难,未了共享信息,它们必须显示的使用(进程通信机制)
进程之间通信比较慢,因为进程控制和进程通信机制开销很大
4、线程比进程小,基本不拥有系统资源
5、每个进程开始生命周期时都是单一线程,这个线程称为主线程,在某一时刻,主线程创建一个对等线程,两个线程并发运行,最后,因为主线程执行一个慢速系统调用,如read,sleep,控制器就会通过上下文切换传递到对等线程。在控制传递回住线程前,对等线程会处理一段时间
6、主线程主要刷新UI,副线程下载
7、NSOPerationQueue必须和NSOperatoin一块使用
使用NSOperation要使用它的子类
8、Queue 队列不用担心线程的释放问题
9、进程有父子关系,因为子进程是被父进程创建的,线程没有父子关系,只有对等线程
10、iOS有三种多线程编程技术:NSTherad   NSOperation   GCD     GCD重点
11、线程间同步,进程间通信
12、 在非主线程中更新UI会隐藏BUG
     下图方法把更新UI(Label)的方法放在主线程中


0 0
原创粉丝点击