毕业论文
计算机论文
经济论文
生物论文
数学论文
物理论文
机械论文
新闻传播论文
音乐舞蹈论文
法学论文
文学论文
材料科学
英语论文
日语论文
化学论文
自动化
管理论文
艺术论文
会计论文
土木工程
电子通信
食品科学
教学论文
医学论文
体育论文
论文下载
研究现状
任务书
开题报告
外文文献翻译
文献综述
范文
C++无线数据传输系统设计+文献综述(6)
2.3 多线程
2.3.1 多线程(Multithreading)概述
在一个程序中,有一些独立运行的程序片断,我们把它称作“线程”(Thread),利用它编程的程序称作“多线程处理”。举一个常见的例子,比如说用户界面。利用多线程界面,用户可按下一个出发点,程序就会马上作出响应,而不是等待用户等待当前程序完成才响应。
每个正在系统上运行的程序叫做一个进程,每一个进程包含一至多个线程。进程也可能是这个程序的整个或者是部分程序的动态执行状况。线程通常是一组指令集合,又或者是特殊的程序段,它可以在程序中独立执行,也可以理解它为代码运行的前后文。因此线程基本上是量级比较轻的进程,它的作用是在单个程序里执行多任务。也常由操作系统对多个线程的调度和执行负责。
线程就是程序中一个单独的顺序控制流程.在单个程序中同时运行多个线程,从而完成不同的工作,我们称它为多线程。
线程和进程的区别在就在于子进程和母进程都有独自的代码和数据空间,而多个线程它们却一个数据空间,每个线程有独自的执行堆栈和程序计数器为它执行前后文.多线程主要是为了节约CPU运行时间和效率,根据具体情况而定线程的运行中需要使用计算机的内存资源和CPU。
2.3.2多线程的解释
计算机编程中,一个基本的概念就是同时对多个任务进行控制。许多程序设计问题都要求程序能够停下当前的工作,而去处理一些其他问题,然后再返回主进程。可以通过多种方法达到这个要求。在最开始的时候,具备低级语言编程嫩里的人员编写一些“中断服务例程”,而通过硬件级的中断实现主进程的暂停。尽管这是一种有用的方法,但编出的程序不均有可移植性,因此造成了另一类的代价昂贵的问题。中断对那些实时性很强的程序任务来说,必要性是很大的。但对于其他问题而言,只要求将问题划分到独立运行的程序片断中,使整个程序能更加快捷地响应用户的请求。
一开始,线程作为一种工具,只是用于分配每个处理器的处理时间。但是,如果操作系统本身就支持多个处理器,那每个线程都可以分配给一个单独的处理器,真正的进入“并行运算”的状态。从程序编辑的角度来看,程序员可以不用关心到底使用了多少个处理器,这是多线程操作最有价值的特性之一。在逻辑意义上,程序被分割为了多个线程;如果机器本身都安装了多个CPU,那么程序会迅速运行,无需再做出任何的特殊调校。根据之前的论述,大家可能会有这样一种感觉,就是线程的处理是非常简单的。但是必须注意一个问题就是:必须共享资源!加入有数个线程同时运行,并且它们试图访问相同的资源模块,这时候就会遇到一个问题,举个例子就是,两个线程不会将信息同时发送给同一台及其。为了解决这个状况,对那些可共享的资源来说(比如接收机),在使用的时候它们一定要进入锁定状态。因此一个线程可以将资源锁定,完成任务后,再释放这个锁定,使其他线程就可以继续使用同样的资源。
多线程不单是为了同步完成多项任务而使用的,提高运行效率并不是主要任务,而是为了提高资源使用效率以便提高系统的效率。它是在同一时间完成多项任务的要求下去实现的。
最简单的比喻就是多线程就像火车的每一节车厢,而进程则是火车。车厢离开火车是无法跑动的,同理火车也不可能只有一节车厢。多线程的出现就是为了提高效率,同时它的出现也带来了一些问题。
2.3.3 多线程的优缺点
(1) 优点:
共9页:
上一页
1
2
3
4
5
6
7
8
9
下一页
上一篇:
光子晶体微腔的设计和特性研究仿真
下一篇:
微带耦合滤波器传输零点的研究+文献综述
认知无线电网络中基于双...
LCD自动测试系统测试数据采集与处理
ZigBee无线人员定位系统设计+源程序
ZigBee智能仓储系统数据采集终端设计+源代码
STC89C52单片机无线智能抄表系统设计与实现
STC89C52单片机基于短信息无...
基于多载波滤波器组的无线信道估计研究
辩护律师的作证义务和保...
拉力采集上位机软件开发任务书
浅谈传统人文精神茬大學...
多元化刑事简易程序构建探讨【9365字】
高校网球场馆运营管理初探【1805字】
中国古代秘书擅权的发展和恶变
谷度酒庄消费者回访调查问卷表
浅谈新形势下妇产科护理...
国内外无刷直流电动机研究现状
《醉青春》导演作品阐述