川丹甫制冷压缩机股份有限公司招(I)

川丹甫制冷压缩机股份有限公司招(I)

ID:40414216

大小:207.34 KB

页数:29页

时间:2019-08-02

川丹甫制冷压缩机股份有限公司招(I)_第1页
川丹甫制冷压缩机股份有限公司招(I)_第2页
川丹甫制冷压缩机股份有限公司招(I)_第3页
川丹甫制冷压缩机股份有限公司招(I)_第4页
川丹甫制冷压缩机股份有限公司招(I)_第5页
资源描述:

《川丹甫制冷压缩机股份有限公司招(I)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、OutlineforTodayObjective:Tocontinuetalkingaboutthecriticalsectionproblemandgetmorepracticethinkingaboutpossibleinterleavings.Starttalkingaboutsynchronizationprimitives.Introduceother“classic”concurrencyproblemsAdministrativedetails:LookonthewebforTAs’officehoursorc

2、hecknewsgroupforUTAs’officehoursforassignment1.Oncollectingproblemsets…SemaphoresWell-knownsynchronizationabstractionDefinedasanon-negativeintegerwithtwoatomicoperationsP(s)-[waituntils>0;s--]V(s)-[s++]Theatomicityandthewaitingcanbeimplementedbyeitherbusywaitingorb

3、lockingsolutions.Reminder:notation[]=atomicSemaphoreUsageBinarysemaphorescanprovidemutualexclusion(solutionofcriticalsectionproblem)Countingsemaphorescanrepresentaresourcewithmultipleinstances(e.g.solvingproducer/consumerproblem)Signalingevents(persistenteventsthat

4、stayrelevantevenifnobodylisteningrightnow)while(1){...otherstuff...criticalsection}TheCriticalSectionProblemP(mutex)V(mutex)Semaphore:mutexinitially1FillintheboxesProducer/ConsumerProducer:while(whatever){locallygenerateitemfillemptybufferwithitem}Consumer:while(wh

5、atever){getitemfromfullbufferuseitem}Producer/ConsumerProducer:while(whatever){locallygenerateitemfillemptybufferwithitem}Consumer:while(whatever){getitemfromfullbufferuseitem}P(emptybuf);V(fullbuf);P(fullbuf);V(emptybuf);Semaphores:emptybufinitiallyN;fullbufinitia

6、lly0;TweedledumandTweedledeeSeparatethreadsexecutingtheirrespectiveprocedures.TheideatocausethemtoforevertaketurnsexchanginginsultsthroughthesharedvariableXinstrictalternation.TheSleep()andWakeup()routinesoperateasfollows:Sleepblocksthecallingthread,Wakeupunblocksa

7、specificthreadifthatthreadisblocked,otherwiseitsbehaviorisunpredictableThecodeshownaboveexhibitsawell-knownsynchronizationflaw.Outlineascenarioinwhichthiscodewouldfail,andtheoutcomeofthatscenariovoidTweedledum(){while(1){Sleep();x=Quarrel(x);Wakeup(Tweedledee);}}vo

8、idTweedledee(){while(1){x=Quarrel(x);Wakeup(Tweedledum);Sleep();}}Ifdeegoesfirsttosleep,thewakeupislost(sincedumisn’tsleepingyet).Bothsleepforeve

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。