菜单
  

    2.3 多线程
    2.3.1 多线程(Multithreading)概述
    在一个程序中,有一些独立运行的程序片断,我们把它称作“线程”(Thread),利用它编程的程序称作“多线程处理”。举一个常见的例子,比如说用户界面。利用多线程界面,用户可按下一个出发点,程序就会马上作出响应,而不是等待用户等待当前程序完成才响应。
    每个正在系统上运行的程序叫做一个进程,每一个进程包含一至多个线程。进程也可能是这个程序的整个或者是部分程序的动态执行状况。线程通常是一组指令集合,又或者是特殊的程序段,它可以在程序中独立执行,也可以理解它为代码运行的前后文。因此线程基本上是量级比较轻的进程,它的作用是在单个程序里执行多任务。也常由操作系统对多个线程的调度和执行负责。
    线程就是程序中一个单独的顺序控制流程.在单个程序中同时运行多个线程,从而完成不同的工作,我们称它为多线程。
    线程和进程的区别在就在于子进程和母进程都有独自的代码和数据空间,而多个线程它们却一个数据空间,每个线程有独自的执行堆栈和程序计数器为它执行前后文.多线程主要是为了节约CPU运行时间和效率,根据具体情况而定线程的运行中需要使用计算机的内存资源和CPU。
    2.3.2多线程的解释
    计算机编程中,一个基本的概念就是同时对多个任务进行控制。许多程序设计问题都要求程序能够停下当前的工作,而去处理一些其他问题,然后再返回主进程。可以通过多种方法达到这个要求。在最开始的时候,具备低级语言编程嫩里的人员编写一些“中断服务例程”,而通过硬件级的中断实现主进程的暂停。尽管这是一种有用的方法,但编出的程序不均有可移植性,因此造成了另一类的代价昂贵的问题。中断对那些实时性很强的程序任务来说,必要性是很大的。但对于其他问题而言,只要求将问题划分到独立运行的程序片断中,使整个程序能更加快捷地响应用户的请求。
    一开始,线程作为一种工具,只是用于分配每个处理器的处理时间。但是,如果操作系统本身就支持多个处理器,那每个线程都可以分配给一个单独的处理器,真正的进入“并行运算”的状态。从程序编辑的角度来看,程序员可以不用关心到底使用了多少个处理器,这是多线程操作最有价值的特性之一。在逻辑意义上,程序被分割为了多个线程;如果机器本身都安装了多个CPU,那么程序会迅速运行,无需再做出任何的特殊调校。根据之前的论述,大家可能会有这样一种感觉,就是线程的处理是非常简单的。但是必须注意一个问题就是:必须共享资源!加入有数个线程同时运行,并且它们试图访问相同的资源模块,这时候就会遇到一个问题,举个例子就是,两个线程不会将信息同时发送给同一台及其。为了解决这个状况,对那些可共享的资源来说(比如接收机),在使用的时候它们一定要进入锁定状态。因此一个线程可以将资源锁定,完成任务后,再释放这个锁定,使其他线程就可以继续使用同样的资源。
    多线程不单是为了同步完成多项任务而使用的,提高运行效率并不是主要任务,而是为了提高资源使用效率以便提高系统的效率。它是在同一时间完成多项任务的要求下去实现的。
    最简单的比喻就是多线程就像火车的每一节车厢,而进程则是火车。车厢离开火车是无法跑动的,同理火车也不可能只有一节车厢。多线程的出现就是为了提高效率,同时它的出现也带来了一些问题。
    2.3.3 多线程的优缺点
    (1) 优点:
  1. 上一篇:光子晶体微腔的设计和特性研究仿真
  2. 下一篇:微带耦合滤波器传输零点的研究+文献综述
  1. Arduino无线传感网络定位系统设计

  2. 数字化钢轨精细打磨装备4G无线通信系统设计

  3. 基于LTE的OFDM无线传输链路设计与仿真

  4. 基于OFDM的数字图像无线传输关键技术研究

  5. QPSK无线通信网络中基于...

  6. nRF905近距离无线收发模块的研究

  7. STC89C52单片机无线遥控电子...

  8. 大众媒体对公共政策制定的影响

  9. 中考体育项目与体育教学合理结合的研究

  10. 十二层带中心支撑钢结构...

  11. 河岸冲刷和泥沙淤积的监测国内外研究现状

  12. 杂拟谷盗体内共生菌沃尔...

  13. java+mysql车辆管理系统的设计+源代码

  14. 电站锅炉暖风器设计任务书

  15. 酸性水汽提装置总汽提塔设计+CAD图纸

  16. 乳业同业并购式全产业链...

  17. 当代大学生慈善意识研究+文献综述

  

About

751论文网手机版...

主页:http://www.751com.cn

关闭返回