多线程编程中的几个基本概念

    想要更好的进行多进程和多线程编程,建议先了解几个概念。

    一.概念点

        1.进程是什么

        2.进程概念的引入

        3.线程是什么

        4.线程概念的引入

        5.引入线程的好处

   二.详细介绍

       1.进程是什么

           想要搞懂进程的概念,首先要搞懂程序的概念,程序是什么呢?

           程序,是指令和数据的一个集合,是静态概念,可长期存储。

           进程,是程序在一个数据集合上的运行过程,是个动态的概念。

           两者什么关系呢?

           一个程序可以对应多个进程或单个进程。

           一个进程可以对应一个程序或一段程序。

          它的组成是什么呢?

          包括程序,数据集合及进程控制块(PCB)

          CPU对进程的调度,切换,管理等都是通过PCB来完成

          举例:

         如进程A切换到进程B,进过一下步骤:

           1.保护进程A的现场

               即将进程A的当前运行信息保存到进程A的PCB中,保存点包括:程序执行的当前位置,程序状态

           字,所有寄存器的值等

           2.恢复进程B的现场

              即从进程B的PCB中获取其执行信息,将这些信息写入到相应的寄存器,程序计数器等中。

       2.进程概念的引入

          在早期的计算机系统中,程序的运行是分道进行的,每次只能运行一道程序,即内存中一次只能装入

    一道程序。因此每运行一个程序,系统中的所有资源都被该程序占用,即其控制了操作系统的所有资源。

   在现代计算机系统中,内存中通常可同时存放多道程序,程序在计算机系统中并发执行,为了描述程序并

   发执行的特征,引入了进程的概念。

   概括来说,为了提高系统资源利用率(CPU,内存等是不是得到充分利用)和吞吐量(单位时间内CPU能处理

   的作业的个数),让多个程序并发执行,为了区分这些并发执行的程序及便于协调管理,引入了进程的概念

   进程是独立申请资源的基本单位。

   一句话,为了让CPU能同时运行多个程序,引入进程的概念

       3.线程是什么

       线程(thread, 台湾称 执行绪)是"进程"中某个单一顺序的控制流。也被称为轻量进程(lightweight pro

    cesses)。计算机科学术语,指运行中的程序的基本调度单位。

    资源拥有者仍然是进程。

       4.线程概念的引入

         同引入进程的概念类似,引入线程的目的是让一个进程能同时运行多个控制流或多个程序。

         如下图表示单进程中的单线程和单进程中的多线程

        

        

          5.引入线程的好处

            1.创建一个新线程花费少

            2.切换线程花费少,如果两个线程同属于一个进程的话,共享内存和文件

         

      

posted @ 2013-07-07 01:46  --中庸--  阅读(690)  评论(0编辑  收藏  举报