![能处理复杂冗长的与计_第1页](http://file4.renrendoc.com/view/60e86bcc8362fe76c1c673ca39b31d81/60e86bcc8362fe76c1c673ca39b31d811.gif)
![能处理复杂冗长的与计_第2页](http://file4.renrendoc.com/view/60e86bcc8362fe76c1c673ca39b31d81/60e86bcc8362fe76c1c673ca39b31d812.gif)
![能处理复杂冗长的与计_第3页](http://file4.renrendoc.com/view/60e86bcc8362fe76c1c673ca39b31d81/60e86bcc8362fe76c1c673ca39b31d813.gif)
![能处理复杂冗长的与计_第4页](http://file4.renrendoc.com/view/60e86bcc8362fe76c1c673ca39b31d81/60e86bcc8362fe76c1c673ca39b31d814.gif)
![能处理复杂冗长的与计_第5页](http://file4.renrendoc.com/view/60e86bcc8362fe76c1c673ca39b31d81/60e86bcc8362fe76c1c673ca39b31d815.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Chapter4(Threads)–StudyThreadAthreadisabasicunitofCPUIthasathreadID,programcounter,aregistersetandaItshareswithotherthreadsbelongingtothesameprocess,itscodesection,datasection,andotherOSresources,suchasopenfilesandBenefitsofmultithreadedResponsiveness–Lengthyoperations,suchasadifficultcomputationoranotherIOeventsuchasnetworkcommunicationcanbedoneinparallelwithblockingIOorotherlengthyoperations.能处理复杂冗长的与计ResourcesharingThreadssharedataandcodespacethuseachthreadcanrapidlycommunicateandreduceduplicationthatwouldhaveoccurredwithmultipleprocesses.数据,减少Efficiency–Inadditiontoreducedresourceusage,contextswitchingandthreadcreationcanbedonemoreefficientlythantheequivalentlogicwithprocesses,becausefarlessdatamustbeswitchedout.Scalability–Whileasingleprocessmayonlyrunonaprocessoramultithreadedapplicationcanmoreeasilytakeadvantageofmultiprocessorandmulticoresystemswitheachthreadrunningonadifferentprocessor/core.扩展性高UserandKernelthreadsandtheirUserthreads:applicationmanagesthreadmanagementkernelisnotawareoftheexistenceofthreadsKernelthreads:threadmanagementdonebytheKernel.Thereisnothreadmanagementcodeintheapplicationarea.Multicoresystems–dataparallelism&taskDataparallelism–distributessubsetsofthesamedataacrossmultiplecores,sameoperationoneachTaskparallelism–distributingthreadsacrosscores,eachthreadperforminguniqueoperationMultithreadingmodels(many-to-one,one-to-one,many-to-One-to-OneEachuser-levelthreadmapstokernelBenefits:MoreconcurrencythatMany-to-Drawback:Numberofthreadsperprocesssometimesrestrictedduetooverheadofcreatingakernelthreadassociatedwitheachnewuser-threadcreated.Many-to-OneManyuser-levelthreadsmappedtosinglekernelBenefits:LesscostbysharingonekernelamongmultipleDrawbacks:Onethreadblockingcausesblockingofalltheotherthreads.ManytoManyAllowsmanyuserlevelthreadstobemappedmanykernelThreadThreadlibraryprovidesprogrammerwithAPIforcreatingandmanagingImplicit产生的原因:Growinginpopularityasnumbersofthreadsincrease,programcorrectnessmoredifficultwithexplicitthreads。实现方法:Creationandmanagementofthreadsdonebycompilersandrun-timelibrariesratherthanprogrammers。ThreadDefinition:Sincewhenevertheserverreceivesarequest,ithastocreateaseparatethreadtoservicetherequestandwhentheserviceiscompletedthethreadgetsdiscarded,thiswillresultinoverhead.Theideabehindthreadpooliscreateanumberofthreadsatprocessstartupandcethemintoapool,andwaitforworktobeassignedtothem.Threadpoolisusuallyaqueue.Whenevertheserverreceivesarequest,ifathreadisavailableinthepool,willreceivetherequest,processesitandonceit’scompletedthethreadwillreturntothethreadpoolandwaitsforthenextrequesttobeassignedtoit.SettingthenumberofthreadsinapooldependsonfactorssuchasthenumberofCPUsinthesystem,thenumberofphysicalmemory,andtheexpectednumberofconcurrent requests.SomethreadpoolsadjustthenumberofthreadsinthepoolaccordingtotheusagepatternUsuallyslightlyfastertoservicearequestwithanexistingthreadthancreateanewthreadAllowsthenumberofthreadsintheapplication(s)tobeboundtothesizeofthepoolSeparatingtasktobeperformedfrommechanicsofcreatingtaskallowsdifferentstrategiesforrunningtaskThreadcancellation(Asynchronous&Deferredcancellation,Cancellationspoint)Asynchronouscancellation–whereonethreadimmediayterminatesthetargetthread.Problemsassociatedwithasynchronouscancellationscouldinclude,operatingsystemnotbeingreclaimbacksomeoftheresourcesallocatedtocancelledthreads,andtherefore,asystem-wideresourcemaynotbed.Also,athreadmaygetcancelledinthemidstofupdatingdataitissharingwithotherthreads.Deferredcancellation–wherethetargetthreadperiodicallycheckswhetheritshouldterminate,allowingittoterminateitselfinanorderlymanner.Withdeferredcancellation,cancellationonlyoccurswhenthreadreachescancellationpoint.Thatistosay,onethreadindicatesthatatargetthreadisgoingtobecancelled,butcancellationoccursonlyafterthetargetthreadhascheckedaflagtodetermineifitshouldbecancelledornot.Thisallowsthethreadtobecancelledatasafepoint,deferredtoascancellationpoint.评:根据我十万行的代码开发经验,Deferredcancellation确实threadcancellation还是要依据thread的模式滴。SignalhandlingSignalsareusedtonotifyaprocessthataparticulareventhasoccurred.Therearetwotypesofsignals:Synchronoussignals(ex:illegalmemoryaccessanddivisionbyAsynchronoussignals(ex;terminatingaprocesswhenyou<control><C>orhavingatimeAsignalmaybehandledbyoneoftwopossiblehandlers:AdefaultsignalhandlerAuser-definedsignalEverysignalhasadefaultsignalhandlerthatthekernelrunswhenhandlingthatsignal.Thisdefaultactioncanbeoverriddenbyauser-definedsignalhandlerthatiscalledtohandlethesignal.Insingle-threadedprograms,signalsaredeliveredtotheprocess.Inmultithreadedprograms,therearedifferentoptionsforsignalDeliverthesignaltothethreadtowhichthesignalDeliverthesignaltoeverythreadintheDeliverthesignaltocertainthreadintheAssignaspecificthreadtoreceiveallsignalsfortheThemethodfordeliveringasignaldependsonthetypeofsignalsEx:synchronoussignalsneedtobedeliveredtothethreadcausingthesignalandnottootherthreadsintheprocess.Thread-LocalThreadsbelongingtothesameprocesssharethedataoftheprocess.However,insomecases,eachthreadmightneeditsowncopyofcertaindata.Thisisusefulincaseswhenwedon’thavecontroloverthethread评:TLSthreadsdataTLS,让threadsprivatedata.DifferentfromlocalLocalvariablesvisibleonlyduringsinglefunctioninvocation.ButTLSvisibleacrossfunctioninvocationsSchedulerBoth,Many-to-ManyandTwo-levelmodelsrequirecommunicationtomaintaintheappropriatenumberofkernelthreadsallocatedtotheapplication.Oneschemeforcommunicationbetweentheuser-threadlibraryandthekernelisknownasscheduleractivation。Light-weightAlightweightprocess(LWP),whichisanintermediatedatastructurecedbetweenuserandkernelthreads,canbeusedasavirtualonwhichaprocesscanscheduleauserthreadto
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年企业生产协作合同范本
- 2025年单位购房协议样本
- 2025年户外雕塑设计与安装合同协议
- 2025年节能服务项目规划申请报告范文
- 2025年建筑工程钢筋班组承包合同样式
- 2025技术创新与资本投入协议范例策划
- 2025年中外合资企业员工派遣协议范本
- 2025年岗位变动劳动合同细则
- 2025年住宅租赁合同解除
- 2025年公共建筑外墙涂装工程承包合同范本
- 《反电信网络诈骗法》知识考试题库150题(含答案)
- 2025年上海市各区初三一模语文试卷(打包16套无答案)
- 统编版五年级语文下册1古诗三首《四时田园杂兴(其三十一)》课件
- 《人工智能基础》课件-AI的前世今生:她从哪里来
- 彩生活运营模式2016年
- 某银行安全保卫工作知识考试参考题库(500题)
- 2023年全国普通高等学校体育单招真题政治试卷(原卷+解析)
- 片剂工艺流程图
- 国家标准图集16G101平法讲解课件
- 北师大版六年级数学下册《数学好玩(全套)》公开课件
- 电机工程学报论文格式模版
评论
0/150
提交评论