线程是什么

DNA图谱 / 问答 / 标签

电脑的八核、16线程是什么意思?

电脑的八核是指电脑CPU有8颗物理核心,16线程是指CPU最多同时可以又16个线程处理任务。核心数和线程数线程是电脑CPU的重要性能指标,CPU的核心数越高处理速度就越高。线程数越多,越有利于同时运行多个程序,因为线程数等同于在某个瞬间CPU能同时并行处理的任务数。扩展资料CPU多核心、多线程的优势介绍:CPU的多核心技术是由美国斯坦福大学提出的,可以将大规模并行处理器中的SMP(对称多处理器)集成到同一芯片内,各个处理器并行执行不同的进程,依靠多个CPU同时并行地运行程序是实现超高速计算的一个重要方向。CPU的多线程技术可通过复制处理器上的结构状态,让同一个处理器上的多个线程同步执行并共享处理器的执行资源,可最大限度地实现宽发射、乱序的超标量处理,提高处理器运算部件的利用率,缓和由于数据相关或Cache未命中带来的访问内存延时。

计算机同一时刻只能执行一个指令,那么单进程多线程是什么意思?

我觉得你首先得知道线程是什么,线程(Thread)是操作系统能够进行运算调动的最小单位,是进程中的实际运作单位,一个进程中可以并发多个线程,每条线程并行执行不同的任务。而且电脑同一时间可以执行多个进程,你以为现在的多核处理器和超线程技术是拿来做什么的……各种多线程技术即使是单核处理器也可以实现MultiThreading多线程,多线程的实现方式大致有两种,一个是Temporal MultiThreading时间多线程,另一个则是Simulate MultiThreading同步多线程。前者是每个时钟周期内切换多个线程,只需要处理器有单个执行单元,处理器设计相对简单,而后者则需要处理器有多个执行单元,可在同一时间内执行多个指令,这样可以充分发挥超标量处理器的能力,提升灵活性和资源利用率,不过处理器更复杂。现在Intel与AMD的消费级处理器用的都是同步多线程,因为他们本来就是超标量处理器,所以要支持SMT在架构上并不用做太多改变,需要添加的是在一个周期中从多个线程获取指令的能力,以及一个更大的寄存器文件来保存来自多个线程的数据。对于单个处理器核心来说来说,虽然每秒钟可以处理成千上万条指令,但是在一个时间点上只能处理一条指令(单个线程),SMT多线程就能够把一个物理处理器在软件层变成两个或以上的逻辑处理器,可以使处理器在某一时刻同步并行处理多个线程,再加上现在的处理器基本上都是多核心的,实际上现在的处理器在单一时间内可以处理多个线程任务,这个看你系统的任务管理器有多少个CPU框框就知道了。

cpu的多少线程是什么意思啊?

1核1线程,一个车道,单方向交通。1核2线程,一个车道,双向交通。4核8线程和六核12线程的区别就在于,多了两条双向交通的车道。四核八线程,四核是指CPU的核心有八个,核心(Core)又称为内核,是CPU最重要的组成部分,八线程是指CPU的多线程线程数有八个。六核十二线程是指六个核心,CPU的多线程线程数有十二个。四核心八线程的处理器如果主频足够高(4.5以上)那玩游戏还是很不错的,不过主频再高,四核心也是没办法跟主流的六核心比多任务处理的,很常见的就是同时开着游戏、语音软件、听着歌之类的,四核心很容易满载,进而影响处理器分配给游戏的资源,甚至可能出现严重掉帧。六核心就不容易出现这种问题,纵使主频低一些,但是大多数游戏的帧数跟高主频四核心差别不大,多开软件之后六核心的游戏帧数会反超四核心。另外现在主流的处理器是六核心,价格比四核心贵不了多少,如果考虑到在四五年后主机还能畅玩最新的游戏,建议还是选择六核心十二线程的处理器,目前比较推荐的就是r5 3600(x),我认为这个处理器的综合表现是家用处理器中最好的,没有之一。

按键精灵多线程是什么意思

意思就是,平常我们都是运行一个脚本,多线程就是可以同时运行两个以上,一个快捷键,运行多个脚本。在一个脚本里面写两个脚本的命令同时运行。

电脑几线程是什么意思

1、线程是"进程"中某个单一顺序的控制流。也被称为轻量进程2、线程是程序中一个单一的顺序控制流程。在单个程序中同时运行多个线程完成不同的工作,称为多线程3、线程和进程的区别在于,子进程和父进程有相同的代码段,不同的数据段,而多个线程则共享数据空间,每个线程有自己的执行堆栈和程序计数器为其执行上下文。多线程主要是为了节约CPU时间,发挥利用,根据具体情况而定。线程的运行中需要使用计算机的内存和CPU。通俗的将计算机的越多,机器的性能越好,可以节约CPU处理数据的时间。进而发挥更好的性能。

电脑的八核,16线程是什么意思?

电脑的八核,16线程是指的是CPU的内核有八个,CPU的内核是运算器和控制器,多核CPU可以增强并行处理能力,可以一次处理多个线程。在一个CPU上集成了几个核心。单核就是只一个,双核放两个核心在CPU上边,以此类推 线程是"进程"中某个单一顺序的控制流。也被称为轻量进程线程是程序中一个单一的顺序控制流程。在单个程序中同时运行多个线程完成不同的工作,称为多线程线程和进程的区别在于,子进程和父进程有相同的代码段,不同的数据段,而多个线程则共享数据空间,每个线程有自己的执行堆栈和程序计数器为其执行上下文。多线程主要是为了节约CPU时间,发挥利用,根据具体情况而定。线程的运行中需要使用计算机的内存和CPU。通俗的将计算机的越多,机器的性能越好,可以节约CPU处理数据的时间。进而发挥更好的性能。

线程是什么意思

先看看专业的解释是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。   线程是程序中一个单一的顺序控制流程.在单个程序中同时运行多个线程完成不同的工作,称为多线程.   线程和进程的区别在于,子进程和父进程有不同的代码和数据空间,而多个线程则共享数据空间,每个线程有自己的执行堆栈和程序计数器为其执行上下文.多线程主要是为了节约CPU时间,发挥利用,根据具体情况而定. 线程的运行中需要使用计算机的内存资源和CPU.....我用例子给你说下比如你们学校大扫除,分工到每一个班级你们班级就叫做进程,负责的任务是大扫除,就是主线程然后你们班有3个小组,第一组扫地,第二组拖地,第三组擦窗户那么这三组分别做了三种不同的事情,可以看作三个线程也就是说线程隶属于进程是一个包含被包含的关系每个线程的作用不一样就上上面我说的三个线程,一个作用是扫地,一个是拖地,一个擦窗户理解起来也不是很难

cpu低频率、低功耗,多核心,多线程是什么意思?

CPU中的低频率,这个指的是CPU工作频率低,低功耗就是指的耗电低的意思,多核心就是讲CPU有六个核心或者八个核心,多线程技术,超线程技术可以使CPU同时进行多线程处理,使CPU性能得到提升,

Python多线程是什么意思?

简单地说就是作为可能是仅有的支持多线程的解释型语言(perl的多线程是残疾,PHP没有多线程),Python的多线程是有compromise的,在任意时间只有一个Python解释器在解释Python bytecode。UPDATE:如评论指出,Ruby也是有thread支持的,而且至少Ruby MRI是有GIL的。如果你的代码是CPU密集型,多个线程的代码很有可能是线性执行的。所以这种情况下多线程是鸡肋,效率可能还不如单线程因为有context switch但是:如果你的代码是IO密集型,多线程可以明显提高效率。例如制作爬虫(我就不明白为什么Python总和爬虫联系在一起…不过也只想起来这个例子…),绝大多数时间爬虫是在等待socket返回数据。这个时候C代码里是有release GIL的,最终结果是某个线程等待IO的时候其他线程可以继续执行。反过来讲:你就不应该用Python写CPU密集型的代码…效率摆在那里…如果确实需要在CPU密集型的代码里用concurrent,就去用multiprocessing库。这个库是基于multi process实现了类multi thread的API接口,并且用pickle部分地实现了变量共享。再加一条,如果你不知道你的代码到底算CPU密集型还是IO密集型,教你个方法:multiprocessing这个module有一个dummy的sub module,它是基于multithread实现了multiprocessing的API。假设你使用的是multiprocessing的Pool,是使用多进程实现了concurrencyfrom multiprocessing import Pool如果把这个代码改成下面这样,就变成多线程实现concurrencyfrom multiprocessing.dummy import Pool两种方式都跑一下,哪个速度快用哪个就行了。UPDATE:刚刚才发现concurrent.futures这个东西,包含ThreadPoolExecutor和ProcessPoolExecutor,可能比multiprocessing更简单

CPU双线程是什么意思?

说简单点就是同时执行多个程序!也就是现在双核cpu比单核cpu多程序能力好!换言之你边游戏边下载,可一两个核心同时工作,较之以前单核的还要完成一个任务才能接着完成下个任务,并行能力不好,但是不是说双核一定比单核的好还有其他的原因了! 现在英特尔i3系列有个技术就是超线程技术就是能模拟4线程!其实跟物理4核差距是比较大的!很高兴能给给你帮助!。有机会一起探讨我比较喜欢硬件还有怎么疑问可以加我Q

单线程和多线程的区别 单线程是什么意思

什么是线程?线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。什么是多线程?多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。多线程的好处:可以提高CPU的利用率。在多线程程序中,一个线程必须等待的时候,CPU可以运行其它的线程而不是等待,这样就大大提高了程序的效率。 多线程与单线程的区别生活举例你早上上班,正要打卡的时候,手机响了。你如果先接了电话,等接完了,在打卡,就是单线程。如果你一手接电话,一手打卡。就是多线程。2件事的结果是一样的。你接了电话且打了卡。

Java中,线程是什么意思,多线程又是什么

在计算机中当一个程序运行的时候就会创建至少一个进程,例如当我们运行QQ的时候,系统就会创建进程来处理我们平时的一些操作,当我们打开任务管理器的时候,在进程的列表里面就可以找到QQ.exe的运行程序;在计算机中处理进程之外还有另一个概念就是线程,线程是存在于进程当中,一个进程可以包含多个线程;当我们的计算机有多核处理器的时候,使用多线程可以加快程序的运算速率;如果一个进程中只有一个线程,当程序遇到一个比较耗时的计算的时候,由于程序是单线程的,那么程序只能等待这个运算结束的时候再继续运行,这样会大大的降低程序的效率;当时用多个线程的时候,在某个线程遇到比较耗时的运算的时候,该线程可以继续自己的运算,但是其他的线程也可以同步进行,这样当耗时的计算结束之后,其他线程也将自己所需要的东西执行完毕,这样就会很大的提高程序执行效率;在程序运行中对于文件的保存相对于处理器的运算速度来说是很慢的,当我们程序中接收到一个保存文件的信息之后,我们可以创建一个保存文件的线程,在主线程中我们可以继续进行我们的其他运算,这样当文件保存好之后,我们的其他运算也会完成,互不影响;在Java中我们可以创建一个自己的类继承于Thread类,并且重写run() 方法,当线程启动之后,run()方法里面的操作都在线程中进行处理,而不会影响主线程的信息;当我们创建好一个自定义线程类之后,我们可以创建这个自定义线程的对象,进行线程的启动;线程须调用start();方法进行启动,这样run()方法里面的内容才会在线程中运行;如果我们不去调用start()方法,那我们只是创建了一个普通的类,即使我们手动调用run()方法,run()方法里面的内容也不会在线程中运行;在Java中线程主要有初始状态,运行状态,阻塞状态,终止状态等;当我们新创建一个线程对象的时候,此时线程的状态为初始状态;当我们调用start()之后,此时的线程才被激活成为运行状态,之后run()方法里面的信息才会在子线程中运行;我们可以在不同的阶段调用不同的方法将线程设置为不同的状态;比如有时候我们的操作需要等待其他线程中运算结束之后才可以继续进行,这时候我们就可以将线程设置为等待状态,当需要的资源满足条件之后,可以继续运行当前的线程;以上的内容就是关于Java中线程是什么,更多关于Java方面的问题可以看下这个视频教程:网页链接,希望我的回答能帮到你。

请问单线程和多线程是什么意思啊?

单线程在程序执行时,所走的程序路径按照连续顺序排下来,前面的必须处理好,后面的才会执行。 单线程较多线程来说,系统稳定、扩展性极强、软件丰富。多用于点对点的服务。 在一个程序中,这些独立运行的程序片断叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理”。多线程处理一个常见的例子就是用户界面。利用线程,用户可按下一个按钮,然后程序会立即作出响应,而不是让用户等待程序完成了当前任务以后才开始响应。

java 多线程是什么?

线程定义比较抽象,简单的说就是一个代码执行流。许多执行流可以混合在一起由CPU调度。线程是允许各种任务交互执行的方式。Java的线程在操作系统的实现模式依系统不同而不同,可能是系统级别的进程或线程,但对于程序员来说并没有影响。任务交互的一个好处是增加程序响应。如一个界面程序执行一段耗时的数据库查询,使用单独的线程可以让界面依然响应用户的其他输入,而单线程只能等待查询结束再处理。JVM以及操作系统会优先处理优先级别高的线程,但不代表这些线程一定会先完成。设定优先级只能建议系统更快的处理,而不能强制。另外,在运行时,并没有按照函数分界,而是按照机器码/汇编码分界。也就是说不保证任何一段代码是被完整而不打断的执行的(除非你已经使用同步手段)。正由于如此,各种线程同步的方法应运而生。

Java多线程是什么意思?

java语言已经内置了多线程支持,所有实现runnable接口的类都可被启动一个新线程,新线程会执行该实例的run()方法,当run()方法执行完毕后,线程就结束了。

单线程和多线程是什么意思

什么是线程?线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。什么是多线程?多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。多线程的好处:可以提高CPU的利用率。在多线程程序中,一个线程必须等待的时候,CPU可以运行其它的线程而不是等待,这样就大大提高了程序的效率。 多线程与单线程的区别生活举例你早上上班,正要打卡的时候,手机响了。你如果先接了电话,等接完了,在打卡,就是单线程。如果你一手接电话,一手打卡。就是多线程。2件事的结果是一样的。你接了电话且打了卡。

多线程是什么意思啊?运行多个程序的意思吗?

多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并执行的线程来完成各自的任务。多线程的好处在于可以提高CPU的利用率。在多线程的程序中,当一个线程必须等待的时候,CPU可以运行其它的线程而不是等待,这样就大大提高了程序的效率。

多线程处理器的多线程是什么意思,还有到底是主频主要还是核心数重要啊

可以这么理解:多线程,是说这个人,可以同时干很多事,例如可以左手做数学题,右手做语文题。而现在几乎所有处理器都支持多线程,这不是一个新技术了。主频越高,处理器的性能越好。就比如说有的人做题快,有的人就做题慢。做题快的人,肯定脑子转得快。核心就像是人的两个左右脑。比如你生活的时候,有的负责听觉器官,有的负责嗅觉器官,有的负责思考。电脑的核心就是讲本来单个的CPU核心,融合到一个cpu上。重要性只能相对来说。如果核心多,而每个主频却特别小,而某些软件只能支持单核心,或者两核心。那这时候,这个软件就会运行的不流畅。简而言之,多核虽然好,但是要建立在每个核心主频够高的情况下,多核才有意义。

单线程和多线程是什么意思?

打个比方,单线程就是你去厨房有烧饭又烧菜,一个人来回跑;多线程就是两个人,一个单做饭,一个单做菜。这样的解释应该比纯理论的好理解一点吧?再补充一下,多线程就是一个CPU虚拟了几个CPU,而双核就是实际上就有两个线程了,当然,还可以每个核再去虚拟多个线程(也可以理解成多个流水线吧)

多线程是什么,有什么好处呢

举个例子,你要做饭,你要做的饭是米饭和一个炒菜。如果是单线程,那么你可以如下做:第一种方法:先炒菜,然后开始蒸米饭;第二种方法:先蒸米饭,等米饭熟了再炒菜;如果是多线程,那么你就可以如下做:先蒸米饭,在蒸米饭的过程中去炒菜。有些问题的解决用多线程会提高效率,比如上边的例子。但是有时不会提高效率,反而会影响效率:比如,你要洗衣服,还打算做家庭作业(假设你是小学生,老师给你布置的家庭作业)。如果是单线程:你要么洗完衣服做作业,要么做完作业洗衣服。如果是多线程:你洗一分钟衣服做一分钟作业,交叉进行,显然有些时间都耗在了任务的切换上了。所以,多线程主要用于,当一个任务需要不占用资源的等待的时候,可以使用空闲的资源做其他的事情。比如类似于QQ聊天的程序,程序的一个线程一直在等待着看是否有好友发消息过来,而与此同时另一个线程允许你打字并且将自己的消息发送给对方。以上例子并不是很完美,只是希望能借这些例子对多线程有所理解。

使用迅雷下载中的单线程,多线程是什么意思?

什么是多线程? 多线程是为了使得多个线程并行的工作以完成多项任务,以提高系统的效率。线程是在同一时间需要完成多项任务的时候被实现的。 使用线程的好处有以下几点: ·使用线程可以把占据长时间的程序中的任务放到后台去处理 ·用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度 ·程序的运行速度可能加快 ·在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较游泳了。在这种情况下我们可以释放一些珍贵的资源如内存占用等等。 最关键的一点,多线程可以让同一个程序的不同部分并发执行。

在java中单线程和多线程是什么意思,他们有什么区别,分别的作用是什么?

去一个地方,只允许做火车;去另外一个地方,可以采取任何方法,爬行都行~

多线程是什么呀

Windows是一个多任务的系统,如果你使用的是windows 2000及其以上版本,你可以通过任务管理器查看当前系统运行的程序和进程。什么是进程呢?当一个程序开始运行时,它就是一个进程,进程所指包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的,线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。浏览器就是一个很好的多线程的例子,在浏览器中你可以在下载JAVA小应用程序或图象的同时滚动页面,在访问新页面时,播放动画和声音,打印文件等。   多线程的好处在于可以提高CPU的利用率——任何一个程序员都不希望自己的程序很多时候没事可干,在多线程程序中,一个线程必须等待的时候,CPU可以运行其它的线程而不是等待,这样就大大提高了程序的效率。   然而我们也必须认识到线程本身可能影响系统性能的不利方面,以正确使用线程:线程也是程序,所以线程需要占用内存,线程越多占用内存也越多 多线程需要协调和管理,所以需要CPU时间跟踪线程 线程之间对共享资源的访问会相互影响,必须解决竞用共享资源的问题 线程太多会导致控制太复杂,最终可能造成很多Bug   基于以上认识,我们可以一个比喻来加深理解。假设有一个公司,公司里有很多各司其职的职员,那么我们可以认为这个正常运作的公司就是一个进程,而公司里的职员就是线程。一个公司至少得有一个职员吧,同理,一个进程至少包含一个线程。在公司里,你可以一个职员干所有的事,但是效率很显然是高不起来的,一个人的公司也不可能做大;一个程序中也可以只用一个线程去做事,事实上,一些过时的语言如fortune,basic都是如此,但是象一个人的公司一样,效率很低,如果做大程序,效率更低——事实上现在几乎没有单线程的商业软件。公司的职员越多,老板就得发越多的薪水给他们,还得耗费大量精力去管理他们,协调他们之间的矛盾和利益;程序也是如此,线程越多耗费的资源也越多,需要CPU时间去跟踪线程,还得解决诸如死锁,同步等问题。总之,如果你不想你的公司被称为“皮包公司”,你就得多几个员工;如果你不想让你的程序显得稚气,就在你的程序里引入多线程吧!   本文将对C#编程中的多线程机制进行探讨,通过一些实例解决对线程的控制,多线程间通讯等问题。为了省去创建GUI那些繁琐的步骤,更清晰地逼近线程的本质,下面所有的程序都是控制台程序,程序最后的Console.ReadLine()是为了使程序中途停下来,以便看清楚执行过程中的输出。

多线程是什么意思?

我们现在所使用操作系统都是多任务操作系统(早期使用的DOS操作系统为单任务操作系统),多任务操作指在同一时刻可以同时做多件事(可以同时执行多个程序)。多进程:每个程序都是一个进程,在操作系统中可以同时执行多个程序,多进程的目的是为了有效的使用CPU资源,每开一个进程系统要为该进程分配相关的系统资源(内存资源)多线程:线程是进程内部比进程更小的执行单元(执行流|程序片段),每个线程完成一个任务,每个进程内部包含了多个线程每个线程做自己的事情,在进程中的所有线程共享该进程的资源;主线程:在进程中至少存在一个主线程,其他子线程都由主线程开启,主线程不一定在其他线程结束后结束,有可能在其他线程结束前结束。Java中的主线程是main线程,是Java的main函数;

多线程是什么意思?

线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。什么是多线程?多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。多线程的好处:可以提高CPU的利用率。在多线程程序中,一个线程必须等待的时候,CPU可以运行其它的线程而不是等待,这样就大大提高了程序的效率。多线程与单线程的区别生活举例你早上上班,正要打卡的时候,手机响了。你如果先接了电话,等接完了,在打卡,就是单线程。如果你一手接电话,一手打卡。就是多线程。2件事的结果是一样的。你接了电话且打了卡。

单线程和多线程是什么意思

单线程就是进程只有一个线程 多线程就是进程有多个线程 多线程处理的优点 同步应用程序的开发比较容易,但由于需要在上一个任务完成后才能开始新的任务,所以其效率通常比多线程应用程序低。如果完成同步任务所用的时间比预计时间长,应用程序可能会不响应。多线程处理可以同时运行多个过程。例如,文字处理器应用程序在您处理文档的同时,可以检查拼写(作为单独的任务)。由于多线程应用程序将程序划分成独立的任务,因此可以在以下方面显著提高性能: 多线程技术使程序的响应速度更快,因为用户界面可以在进行其他工作的同时一直处于活动状态。 当前没有进行处理的任务可以将处理器时间让给其他任务。 占用大量处理时间的任务可以定期将处理器时间让给其他任务。 可以随时停止任务。 可以分别设置各个任务的优先级以优化性能。 是否需要创建多线程应用程序取决于多个因素。在以下情况下,最适合采用多线程处理: 耗时或大量占用处理器的任务阻塞用户界面操作。 各个任务必须等待外部资源(如远程文件或 Internet 连接)。 例如,用于跟踪 Web 页上的链接并下载满足特定条件的文件的 Internet 应用程序“robot”。这种应用程序可以依次同步下载各个文件,也可以使用多线程同时下载多个文件。多线程方法比同步方法的效率高很多,因为即使在某些线程中远程 Web 服务器的响应非常慢,也可以下载文件。 下面是多线程的例子 还在Dos时代,人们就在寻求一种多任务的实现。于是出现了TSR类型的后台驻留程序,比较有代表性的有Side Kick、Vsafe等优秀的TSR程序,这类程序的出现和应用确实给用户使用计算机带来了极大的方便,比如Side Kick,我们编程可以在不用进编辑程序的状态下,一边编辑源程序,一边编译运行,非常方便。但是,Dos单任务操作系统的致命缺陷注定了在Dos下不可能开发出真正的多任务程序。进入Windows3.1时代,这种情况依然没有根本的改变,一次应用只能做一件事。比如数据库查询,除非应用编得很好,在查询期间整个系统将不响应用户的输入。 进入了Windows NT和Windows 9x时代,情况就有了彻底的改观,操作系统从真正意义上实现了多任务(严格地说,Win9x还算不上)。一个应用程序,在需要的时候可以有许多个执行线程,每个线程就是一个小的执行程序,操作系统自动使各个线程共享CPU资源,确保任一线程都不能使系统死锁。这样,在编程的时候,可以把费时间的任务移到后台,在前台用另一个线程接受用户的输入。对那些对实时性要求比较高的编程任务,如网络客户服务、串行通信等应用时,多线程的实现无疑大大地增强了程序的可用性和稳固性。

多线程是什么意思

线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。线程是独立调度和分派的基本单位。线程可以为操作系统内核调度的内核线程,如Win32线程;由用户进程自行调度的用户线程,如Linux平台的POSIX Thread;或者由内核与用户进程,如Windows 7的线程,进行混合调度。同一进程中的多条线程将共享该进程中的全部系统资源,如虚拟地址空间,文件描述符和信号处理等等。但同一进程中的多个线程有各自的调用栈(call stack),自己的寄存器环境(register context),自己的线程本地存储(thread-local storage)。一个进程可以有很多线程,每条线程并行执行不同的任务。线程特点1、轻型实体线程中的实体基本上不拥有系统资源,只是有一点必不可少的、能保证独立运行的资源。线程的实体包括程序、数据和TCB。线程是动态概念,它的动态特性由线程控制块TCB(Thread Control Block)描述。2、独立调度和分派的基本单位在多线程OS中,线程是能独立运行的基本单位,因而也是独立调度和分派的基本单位。由于线程很“轻”,故线程的切换非常迅速且开销小(在同一进程中的)。3、可并发执行在一个进程中的多个线程之间,可以并发执行,甚至允许在一个进程中所有线程都能并发执行;同样,不同进程中的线程也能并发执行,充分利用和发挥了处理机与外围设备并行工作的能力。4、共享进程资源在同一进程中的各个线程,都可以共享该进程所拥有的资源,这首先表现在:所有线程都具有相同的地址空间(进程的地址空间),这意味着,线程可以访问该地址空间的每一个虚地址。此外,还可以访问进程所拥有的已打开文件、定时器、信号量机构等。由于同一个进程内的线程共享内存和文件,所以线程之间互相通信不必调用内核。

多线程是什么意思

线程是操作系统能够进行运算调度的最小单位;它被包含在进程之中,是进程中的实际运作单位。 多线程,是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。 简单来说:线程是程序中一个单一的顺序控制流程;而多线程就是在单个程序中同时运行多个线程来完成不同的工作。 多线程是为了同步完成多项任务,不是为了提高运行效率,而是为了提高资源使用效率来提高系统的效率。多线程是在同一时间需要完成多项任务的时候实现的。 多线程的优缺点 优点: 1)、多线程技术可以加快程序的运行速度,使程序的响应速度更快,因为用户界面可以在进行其它工作的同时一直处于活动状态 2)、可以把占据长时间的程序中的任务放到后台去处理,同时执行其他操作,提高效率 3)、当前没有进行处理的任务时可以将处理器时间让给其它任务 4)、可以让同一个程序的不同部分并发执行,释放一些珍贵的资源如内存占用等等 5)、可以随时停止任务 6)、可以分别设置各个任务的优先级以优化性能 缺点: 1)、因为多线程需要开辟内存,而且线程切换需要时间因此会很消耗系统内存。 2)、线程的终止会对程序产生影响 3)、由于多个线程之间存在共享数据,因此容易出现线程死锁的情况 4)、对线程进行管理要求额外的 CPU开销。线程的使用会给系统带来上下文切换的额外负担。