资源预览内容
第1页 / 共29页
第2页 / 共29页
第3页 / 共29页
第4页 / 共29页
第5页 / 共29页
第6页 / 共29页
第7页 / 共29页
第8页 / 共29页
第9页 / 共29页
第10页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Chapter4:Threads哆寅厂Chapter4:Threads目4.1Overview概述目4.2MultithreadingModels多线程模型唐summa!义snene心uncm恩4.1OverviewsreneProcessa资源分配单位CPU调度单位uncem孙Thread(LWP-lightweightprocesssabasicunitofCPUutilzations2threadID,aprogramcounter,aregisterset,andastack.-与运行有关Itshareswithotherthreadsbelongingtothesameprocessesources(suchasopenfilesandsigna_s)线琼有时吃做宗坤莲秋(LWFJ,是CPU利用的基本单元。它由一个线程标识符,一个程序计数器,一个寄存器集合及一个堆栈纬成。它与属于同一进程的其它线程共享(进程的)代码段、数据段及其他操作柔统资源(如:打开的文件和信号)-赔sreneauncem孙引入进程的原因:提高并发度,提高资源利用率和吞吐引入线程原因:减少切换开销,进一步提高并发度进程:资源分配的单位线程:运行的基本单位线御也有犹志交化,也雷要创建、濑销和管理一Iftheprocesshasmultiplethreadsofcontrolicandomorethanonetaskatatime。加果进程有多个控制线程,则它能够一次做一个以上的任务-贺esnens心uncsocoderegistersulttreaded图示意了传统的单线程进程和多线程迹程的不同。!snene人incem豁严厂1.,Motivation动机日Incertainsituationsasingleapplicationmayberedquiredtoperformseveralsimilartasks.在荪些情形下,一个应用程序可能需要执行几个相似的任务。例如,一个Web服务器接受客户机请求Web页、图像、声音等等。一个很忙的Web服务器可能有儿个客户机并发地访问它。如果该Web服务器以传统单线程逃程的形式运行,则将子沟只能服务于一仁客户机。客户机史能必须要等待很长的时间才能俭其淳求得到服务。一种解决办法是让服务器这桦运行:一个进程接受一个请求。当服务器收到一个请求,则建立一个单独的进程服务于诙请求。进程的创建是非常繁重的。如果该渡进程执行的是与迹程同样的任务,为什么要招致所有开销吵srene孙里Itisgenerallymoreefficientforoneprocessthatcontainsmultiplethreadstoservethesamepurpose.对于一个进程来讲,(让它包含多个线程以服务于同一个目的通常是高效的smultithreadtheweb-serverprocessTheserverwouldcreateaseparatethreadthatwouldlistenforclientrequests;whenarequestwasmaderatherthanlcrealinganoiherprocess,itwouldcreateanotherthreadtoServicetherequest.另个线桦以服务于诙i、_菁翼2BenefitsResponsiveness响应度多线程化一个交互式应用可以允许一个程序即便是其中一部分阻塞或执行一个冗长操作也可以继续,从而提高对用户的响应度。例如,一个多线程的Web浏览器,在一个图像于一个线程中加载的同时仍然允许用户在另一个线程中交互。Resourcesharing资源共享同一进程的所有线程默相吟的内存和资源,这样一个应用程序的地址宝间有多个活动的线程。提口些发度和资源利用率Economy经济为进程创建分配内存和资源是昂贵的。作为选择,因为线程共享所属逃程的资源,因此线程的创建和上下文切换更经csrene心unecen孙目Utilizationofmultiprocessorarchitectures多处理器体系结构的利用多线程能光分利用多处理器体系结构,以便多个线程能并行运行在不同的处理器上,单线程进程只能运行在一个CPU上,而不管有多个cpu可用径多CPU上使用多线程增加了并发功能。-赔sneneaecen
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号