首页 > 厂商 > 知识 > 什么是多线程,多线程什么意思

什么是多线程,多线程什么意思

来源:整理 时间:2023-08-27 15:22:32 编辑:智能门户 手机版

本文目录一览

1,多线程什么意思

多线程的意思就是一个进程内有多个相对独立的并且实现特定的任务以竞争CPU的方式执行,在多处理机条件下宏观上是并发,实际上是分时执行,只是执行的时间片较短,所以给人的错觉是同时进行的。
就是比进程更小的cpu调度单位,但不是资源单位,线程里只有一些简单的线程状态栈供上下文切换,资源还是利用进程的 线程也叫轻量级进程

多线程什么意思

2,从生活中理解什么是多线程

什么是多线程? 多线程是为了使得多个线程并行的工作以完成多项任务,以提高系统的效率。线程是在同一时间需要完成多项任务的时候被实现的。 使用线程的好处有以下几点: ·使用线程可以把占据长时间的程序中的任务放到后台去处理 ·用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度 ·程序的运行速度可能加快 ·在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较游泳了。在这种情况下我们可以释放一些珍贵的资源如内存占用等等。 最关键的一点,多线程可以让同一个程序的不同部分并发执行如果你用过网际快车你就能理解了 比如文件分成100部分 10个线程 文件就被分成了10份来同时下载 1-10 占一个线程 11-20占一个线程 依次类推 线程越多 文件就被分的越多 同时下载 当然速度也就越快
static void main(string[] args) console.writeline("开始一个新的线程,名为次线程"); thread t = new thread(new threadstart(threadproc)); t.start(); for (int i = 0; i < 4; i++) console.writeline("主线程:" + i); thread.sleep(1000); } console.writeline("调用join函数等待次线程结束"); //当次线程执行完毕后,join阻塞调用线程,直到某个线程终止为止,本例为次线程 t.join(); console.writeline("线程执行完毕"); } public static void threadproc() for (int i = 0; i < 10; i++) console.writeline("次线程:... thread.sleep(1000);//将当前进程阻塞指定的毫秒数 } }

从生活中理解什么是多线程

3,多线程的定义是什么

线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行。也可以把它理解为代码运行的上下文。所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务。通常由操作系统负责多个线程的调度和执行。多线程是这样一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立。线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度。多线程是多任务的特殊形式。通常,有两种类型的多任务:基于进程和基于线程的多任务。进程本质上是正在执行的程序。因此,基于进程的多任务就是允许您的计算机同时运行两个或者更多程序的特性。例如,基于进程的多任务允许您在使用电子制表软件或者浏览Internet的同时运行文字处理程序。在基于进程的多任务中,程序是调度程序可以分派的最小代码单元。多线程是为了使得多个线程并行的工作以完成多项任务,以提高系统的效率。线程是在同一时间需要完成多项任务的时候被实现的。使用线程的好处有以下几点:·使用线程可以把占据长时间的程序中的任务放到后台去处理·用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度·程序的运行速度可能加快·在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较游泳了。在这种情况下我们可以释放一些珍贵的资源如内存占用等等。还有其他很多使用多线程的好处,这里就不一一说明了。多线程应用我们以客户/服务器应用模式中如何进行服务器程序设计为例,来说明多线程技术的应用。该程序是在DECnet-VAX网络邮箱上实现的。对于TCP/IP,除了改用捆绑的套接字(socket)来代替DECnet中的网络邮箱以监视客户的服务请求外,其他方面基本上是一样的。为了简化说明,假定该服务程序只提供2类功能,分别由函数funcl( )和func2( )来实现。客户在请求服务时要指明功能号1或2。另外限制需要同时提供服务的客户数目。多线程程序的基本设计思想是,为请求服务的每个客户建立1个线程,专门为该客户提供服务。限制客户数目就是限制同时存在的线程数目。这些动态建立的线程对象存放在数组中。通过查找该数组是否有空槽,来决定是否达到最大数目。同时利用该数组来管理这些动态存在的线程及相应的网络链路。整个程序由1个主程序和提供2类服务的2个子程序组成。主程序(主控线程)在完成初始化操作后,开始循环读取邮箱中的网络控制信息;在接收到连接请求信息后,主控线程就建立1个新线程,并指定相应的函数作为执行代码;如果客户要断开连接,则主控线程查找到相应的服务线程号,释放该服务线程使用的网络链路,并删除此线程。
你好!在一个程序中,这些独立运行的程序片断叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理”。我的回答你还满意吗~~

多线程的定义是什么

4,多线程是什么

在一个程序中,这些独立运行的程序片断叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理”。多线程处理一个常见的例子就是用户界面。利用线程,用户可按下一个按钮,然后程序会立即作出响应,而不是让用户等待程序完成了当前任务以后才开始响应在计算机编程中,一个基本的概念就是同时对多个任务加以控制。许多程序设计问题都要求程序能够停下手头的工作,改为处理其他一些问题,再返回主进程。可以通过多种途径达到这个目的。最开始的时候,那些掌握机器低级语言的程序员编写一些“中断服务例程”,主进程的暂停是通过硬件级的中断实现的。尽管这是一种有用的方法,但编出的程序很难移植,由此造成了另一类的代价高昂问题。中断对那些实时性很强的任务来说是很有必要的。但对于其他许多问题,只要求将问题划分进入独立运行的程序片断中,使整个程序能更迅速地响应用户的请求。 最开始,线程只是用于分配单个处理器的处理时间的一种工具。但假如操作系统本身支持多个处理器,那么每个线程都可分配给一个不同的处理器,真正进入“并行运算”状态。从程序设计语言的角度看,多线程操作最有价值的特性之一就是程序员不必关心到底使用了多少个处理器。程序在逻辑意义上被分割为数个线程;假如机器本身安装了多个处理器,那么程序会运行得更快,毋需作出任何特殊的调校。根据前面的论述,大家可能感觉线程处理非常简单。但必须注意一个问题:共享资源!如果有多个线程同时运行,而且它们试图访问相同的资源,就会遇到一个问题。举个例子来说,两个进程不能将信息同时发送给一台打印机。为解决这个问题,对那些可共享的资源来说(比如打印机),它们在使用期间必须进入锁定状态。所以一个线程可将资源锁定,在完成了它的任务后,再解开(释放)这个锁,使其他线程可以接着使用同样的资源。 多线程是为了同步完成多项任务,不是为了提高运行效率,而是为了提高资源使用效率来提高系统的效率。线程是在同一时间需要完成多项任务的时候实现的。使用线程的好处 ·使用线程可以把占据长时间的程序中的任务放到后台去处理 ·用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度 ·程序的运行速度可能加快 ·在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下可以释放一些珍贵的资源如内存占用等等。 还有其他很多使用多线程的好处,这里就不一一说明了
多个线程简称多线程,
在一个程序中,这些独立运行的程序片断叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理”。多线程处理一个常见的例子就是用户界面。利用线程,用户可按下一个按钮,然后程序会立即作出响应,而不是让用户等待程序完成了当前任务以后才开始响应。
编程问题中相当大的一部分都可以通过使用顺序编程来解决。然而,对于某些问题,如果能够并行地执行程序中的多个部分,则会变得非常方便甚至非常必要,因为这些部分要么看起来在并发地执行,要么在多处理器环境下可以同时执行。这种并发处理就叫做多线程。可以用Runnable接口和Thread类来实现。

5,多线程的详解

每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。进程也可能是整个程序或者是部分程序的动态执行。线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行。也可以把它理解为代码运行的上下文。所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务。通常由操作系统负责多个线程的调度和执行。 什么是多线程?   多线程是为了使得多个线程并行的工作以完成多项任务,以提高系统的效率。线程是在同一时间需要完成多项任务的时候被实现的。   使用线程的好处有以下几点:   ·使用线程可以把占据长时间的程序中的任务放到后台去处理   ·用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度   ·程序的运行速度可能加快   ·在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较游泳了。在这种情况下我们可以释放一些珍贵的资源如内存占用等等。   还有其他很多使用多线程的好处,这里就不一一说明了。   一些线程模型的背景   我们可以重点讨论一下在Win32环境中常用的一些模型。   ·单线程模型   在这种线程模型中,一个进程中只能有一个线程,剩下的进程必须等待当前的线程执行完。这种模型的缺点在于系统完成一个很小的任务都必须占用很长的时间。   ·块线程模型(单线程多块模型STA)   这种模型里,一个程序里可能会包含多个执行的线程。在这里,每个线程被分为进程里一个单独的块。每个进程可以含有多个块,可以共享多个块中的数据。程序规定了每个块中线程的执行时间。所有的请求通过Windows消息队列进行串行化,这样保证了每个时刻只能访问一个块,因而只有一个单独的进程可以在某一个时刻得到执行。这种模型比单线程模型的好处在于,可以响应同一时刻的多个用户请求的任务而不只是单个用户请求。但它的性能还不是很好,因为它使用了串行化的线程模型,任务是一个接一个得到执行的。   ·多线程块模型(自由线程块模型)   多线程块模型(MTA)在每个进程里只有一个块而不是多个块。这单个块控制着多个线程而不是单个线程。这里不需要消息队列,因为所有的线程都是相同的块的一个部分,并且可以共享。这样的程序比单线程模型和STA的执行速度都要块,因为降低了系统的负载,因而可以优化来减少系统idle的时间。这些应用程序一般比较复杂,因为程序员必须提供线程同步以保证线程不会并发的请求相同的资源,因而导致竞争情况的发生。这里有必要提供一个锁机制。但是这样也许会导致系统死锁的发生。 多线程百科: http://baike.baidu.com/view/65706.html?wtp=tt
楼上的回答得很正确,系统采用多线程就是想做到(实际不可能做到,因为一般系统只有一个CPU)事件的并行运行,以提高系统的效率!
看着1楼的回答真累. 多线程你可以理解为:一心多用。就是你做一件事情的时候,你同时可以做很多事情。 书面解释:多线程是为了使得多个线程并行的工作以完成多项任务,以提高系统的效率

6,什么是多线程

简单的来说,你的WINROM有一个主线程在运行它,如果运行中,某个方法卡住了,就会造成这程序卡死(假死)的状态,你可以再开一个线程,去运行这个方法(比较卡的方法),这样就是这个线程卡死了,也不会影响主线程,打个形象点的比方,你打星际,主机在造农民,那么你其它所有的地方都动不了,包括在采矿的农民,要等你造完了才会进行若无事采矿的操作,如果你即要造农民,又要同时去采矿,这就是多线程了,呵呵
cpu生产商为了提高cpu的性能,通常做法是提高cpu的时钟频率和增加缓存容量。不过目前cpu的频率越来越快,如果再通过提升cpu频率和增加缓存的方法来提高性能,往往会受到制造工艺上的限制以及成本过高的制约。 尽管提高cpu的时钟频率和增加缓存容量后的确可以改善性能,但这样的cpu性能提高在技术上存在较大的难度。实际上在应用中基于很多原因,cpu的执行单元都没有被充分使用。如果cpu不能正常读取数据(总线/内存的瓶颈),其执行单元利用率会明显下降。另外就是目前大多数执行线程缺乏ilp(instruction-level parallelism,多种指令同时执行)支持。这些都造成了目前cpu的性能没有得到全部的发挥。因此,intel则采用另一个思路去提高cpu的性能,让cpu可以同时执行多重线程,就能够让cpu发挥更大效率,即所谓“超线程(hyper-threading,简称“ht”)”技术。超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了cpu的闲置时间,提高的cpu的运行效率。 采用超线程及时可在同一时间里,应用程序可以使用芯片的不同部分。虽然单线程芯片每秒钟能够处理成千上万条指令,但是在任一时刻只能够对一条指令进行操作。而超线程技术可以使芯片同时进行多线程处理,使芯片性能得到提升。 超线程技术是在一颗cpu同时执行多个程序而共同分享一颗cpu内的资源,理论上要像两颗cpu一样在同一时间执行两个线程,p4处理器需要多加入一个logical cpu pointer(逻辑处理单元)。因此新一代的p4 ht的die的面积比以往的p4增大了5%。而其余部分如alu(整数运算单元)、fpu(浮点运算单元)、l2 cache(二级缓存)则保持不变,这些部分是被分享的。 虽然采用超线程技术能同时执行两个线程,但它并不象两个真正的cpu那样,每各cpu都具有独立的资源。当两个线程都同时需要某一个资源时,其中一个要暂时停止,并让出资源,直到这些资源闲置后才能继续。因此超线程的性能并不等于两颗cpu的性能。 英特尔p4 超线程有两个运行模式,single task mode(单任务模式)及multi task mode(多任务模式),当程序不支持multi-processing(多处理器作业)时,系统会停止其中一个逻辑cpu的运行,把资源集中于单个逻辑cpu中,让单线程程序不会因其中一个逻辑cpu闲置而减低性能,但由于被停止运行的逻辑cpu还是会等待工作,占用一定的资源,因此hyper-threading cpu运行single task mode程序模式时,有可能达不到不带超线程功能的cpu性能,但性能差距不会太大。也就是说,当运行单线程运用软件时,超线程技术甚至会降低系统性能,尤其在多线程操作系统运行单线程软件时容易出现此问题。 需要注意的是,含有超线程技术的cpu需要芯片组、软件支持,才能比较理想的发挥该项技术的优势。目前支持超线程技术的芯片组包括如:英特尔i845ge、pe及矽统isr658 rdram、sis645dx、sis651可直接支持超线程;英特尔i845e、i850e通过升级bios后可支持;威盛p4x400、p4x400a可支持,但未获得正式授权。操作系统如:microsoft windows xp、microsoft windows 2003,linux kernel 2.4.x以后的版本也支持超线程技术。
文章TAG:什么是多线程多线程什么意思

最近更新

  • lg屏幕,LG显示器行吗lg屏幕,LG显示器行吗

    LG显示器行吗2,LG的显示器好么3,LG在世界屏幕上排上第几名啊4,lg的显示器好用吗5,LG屏幕怎么样6,LG的手机屏幕是最好的吗1,LG显示器行吗行行行行2,LG的显示器好么挺好的.显示屏还不错。3,LG在.....

    知识 日期:2023-08-27

  • 超声波焊接原理,超声波焊接技术的工作原理超声波焊接原理,超声波焊接技术的工作原理

    超声波焊接技术的工作原理2,超声波焊接原理及参数3,超音波熔接的工作原理是什么4,超声波焊接原理的简介5,超声波塑料焊接机的原理是什么6,超声波焊接原理的概述1,超声波焊接技术的工作原理指.....

    知识 日期:2023-08-27

  • 西门子官网下载中心,西门子硬件更新包在哪里下载西门子官网下载中心,西门子硬件更新包在哪里下载

    西门子硬件更新包在哪里下载2,西门子S7200中文编程软件在哪里能下载到啊3,怎么在西门子网站上下载英文样本4,西门子官网下载中心中怎么找不到STEP7v55编程软件5,西门子官网为什么没有下载.....

    知识 日期:2023-08-27

  • idg,什么是IDGidg,什么是IDG

    什么是IDG2,IDG技术具体是做什么的3,IDG是什么4,IDG是什么意思5,什么是IDG投资啊6,什么是IDG技术创业投资基金1,什么是IDG技术创业投资基金2,IDG技术具体是做什么的IDG是全世界最大的信息技术.....

    知识 日期:2023-08-27

  • 高科技产品,介绍点高科技产品高科技产品,介绍点高科技产品

    介绍点高科技产品2,地球上最高科技的产品是什么谁知呢3,高科技产品有哪些4,如今世界有哪些高科技产品5,什么是高科技产品6,人们生活中不可缺少的高科技产品有哪些1,介绍点高科技产品火箭卫星.....

    知识 日期:2023-08-27

  • 欧拉r1,欧拉R1怎么样值得买吗欧拉r1,欧拉R1怎么样值得买吗

    欧拉R1怎么样值得买吗2,欧拉R1怎么样尤其是配置方面聊聊呗3,长城欧拉R1体积那么小实用性强吗4,欧拉R1有什么过人之处据说最近很火啊5,短时间内不想换车欧拉R1质量怎么样6,欧拉R1实在太好看.....

    知识 日期:2023-08-27

  • 暖通空调系统,暖通空调VFD什么意思暖通空调系统,暖通空调VFD什么意思

    暖通空调VFD什么意思2,暖通空调里rfauf105是什么意思3,什么叫VRF空调系统4,暖通设备是指什么是暖通设备5,什么是暖通6,楼宇自控系统的组成部份都有哪些1,暖通空调VFD什么意思室内机蒸发器管.....

    知识 日期:2023-08-27

  • ont,EPON应用中OLT ONU和ONT是什么起到什么作用ont,EPON应用中OLT ONU和ONT是什么起到什么作用

    EPON应用中OLTONU和ONT是什么起到什么作用2,ont英文翻译是什么意思3,ont能组成什么单词中文意思是什么4,请问下ONT和ONU有什么区别感谢5,ont是什么意思1,EPON应用中OLTONU和ONT是什么起到什.....

    知识 日期:2023-08-27