线程概念的引入

1.目的

         1)线程概念的历史

         2)引入线程作用

2.历史

          20世纪60年代提出进程的概念,在操作系统中一直都是以进程作为独立运行的单位

          20世纪80年代中期,在操作系统领域,提出了比进程更小的能独立运行的基本单位---线程

3.引入线程作用

           引入进程的目的

                  1)为了使多个程序并发执行 

                    2)改善资源利用率

                    3)提高系统吞吐量

        从内存管理的角度看

            一个系统多个进程,他们都会使用内存,为了确保内存互不影响,内存大小位置都是固定的;

            进程间互相不影响,一个进程崩溃了,不影响其他进程

            举个栗子:

          你可以在window系统上边一边听音乐,一边玩QQ,

          听音乐开个一个进程,玩QQ开个一个进程

                引入线程的目的

                      1)提高系统的并发性

              举个栗子

                如果我们把运行在操作系统的程序,比如QQ看作一个进程,那么程序执行不可能一个分支,

你可能用来传输文字A,发送图片B

具体的执行就是

               1) QQ获取CPU上下文

                2)开始执行QQ中的传输文件A 

                3)执行QQ中的发送图片B

               4)CPU保存QQ的上下文

执行A B时共享了QQ的资源,CPU没有进行上下文切换  A B就是线程

4.详解

          我们首先从进程谈起,进程有两个基本属性

            1)进程是一个可以拥有资源的独立单位

            2)进程同时也是一个可以独立调度和分配的基本单位

所谓的资源就是计算机里的中央处理器,内存,文件,网络等等。

所以进程可以并发执行

为了使线程可以并发执行,系统还必须进行如下操作

 1)创建进程

系统在创建进程时,必须分配必须的,除处理机以外的所有资源;

内存空间;IO设备,进程控制块PCB

2)撤销进程

系统在撤销进程时,必须对这些资源进行回收,并撤销PCB块

3)进程切换

在对线程进行切换时,需要保存当前进程的CPU环境和需要切换的进程的CPU上下文

5.思考

           思考?

             是否可以把进程的两个属性分开,

             作为系统独立调度和分配和单元,而不独立分配资源,产生了线程

在引入线程的系统中,线程是进程的一个实体,是被系统独立调度和分配的基本单位,

线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈)

但它可以和同属同一个进程的其他线程共享进程的全部资源

一个线程可以创建和撤销另一个线程

同一进程的多个线程可以并发执行

由于线程之间相互制约,线程运行时会出现间断

线程一般拥有就绪 阻塞 执行三种基本状态

有些系统可能线程还有终止状态

     

猜你喜欢

转载自my.oschina.net/u/1398304/blog/1810892
今日推荐