电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PPT文档下载
分享到微信 分享到微博 分享到QQ空间

设计模式-10-并发型设计模式

  • 资源ID:320162193       资源大小:304.50KB        全文页数:12页
  • 资源格式: PPT        下载积分:5金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要5金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

设计模式-10-并发型设计模式

并发型设计模式并发型设计模式并发型设计模式并发型设计模式常见并发型设计模式Monitor Object设计模式Half-Sync/Half-Async设计模式Leader/Followers设计模式 Active Object设计模式Thread-Specific Storage 设计模式The Monitor Object PatternThis pattern synchronizes concurrent method execution to ensure that only one method at a time runs within an objectIt also allows an objects methods to cooperatively schedule their execution sequences2.*usesuses *Monitor ObjectMonitor Objectsync_method1()sync_methodN()Monitor LockMonitor Lockacquire()release()ClientClientMonitor ConditionMonitor Conditionwait()notify()notify_all()SolutionApply the Monitor Object design pattern (P2) to synchronize the queue efficiently & conveniently Its instructive to compare Monitor Object pattern solutions with Active Object pattern solutionsThe key tradeoff is efficiency vs. flexibilityMonitor Object Pattern Dynamics: MonitorObject: MonitorLock: MonitorConditionsync_method1()wait()dowork(): ClientThread1: ClientThread2acquire()dowork()acquire()sync_method2()release()notify()dowork()release()the OS thread schedulerautomatically suspendsthe client threadthe OS threadschedulerautomatically resumes the clientthread & thesynchronizedmethodthe OS thread scheduleratomically reacquiresthe monitor lockthe OS thread scheduleratomically releasesthe monitor lock1.Synchronized method invocation & serialization2.Synchronized method thread suspension3.Monitor condition notification4.Synchronized method thread resumptionThe Half-Sync/Half-Async PatternSyncServiceLayerAsyncService LayerQueueingLayerSync Service 1Sync Service 2Sync Service 3ExternalEvent SourceQueueAsync ServiceThe Half-Sync/Half-Async architectural pattern decouples async & sync service processing in concurrent systems, to simplify programming without unduly reducing performanceSolutionApply the Half-Sync/Half-Async architectural pattern (P2) to scale up server performance by processing different HTTP requests concurrently in multiple threads This solution yields two benefits:1.Threads can be mapped to separate CPUs to scale up server performance via multi-processing2.Each thread blocks independently, which prevents a flow-controlled connection from degrading the QoS that other clients receiveThis pattern defines two service processing layersone async & one syncalong with a queueing layer that allows services to exchange messages between the two layers: External EventSource: Async Service: Queuenotificationread()enqueue()message: Sync Servicework()messageread()messagework()notificationHalf-Sync/Half-Async Pattern DynamicsThe pattern allows sync services, such as HTTP protocol processing, to run concurrently, relative both to each other & to async services, such as event demultiplexingThe Leader/Followers PatternThis pattern eliminates the need for& the overhead ofa separate Reactor thread & synchronized request queue used in the Half-Sync/Half-Async patternThe Leader/Followers architectural pattern (P2) provides an efficient concurrency model where multiple threads take turns sharing event sources to detect, demux, dispatch, & process service requests that occur on the event sourcesHandlesHandle SetsConcurrent HandlesIterative HandlesConcurrent Handle SetsUDP Sockets + WaitForMultipleObjects()TCP Sockets + WaitForMultpleObjects()Iterative Handle SetsUDP Sockets + select()/poll()TCP Sockets + select()/poll()Handleusesdemultiplexes*Handle Sethandle_events()deactivate_handle()reactivate_handle()select()Event Handlerhandle_event ()get_handle()Concrete Event Handler Bhandle_event ()get_handle()Concrete Event Handler Ahandle_event ()get_handle()Thread Pooljoin()promote_new_leader()synchronizerLeader/Followers Pattern Dynamics: ConcreteEvent Handlerjoin()handle_event(): ThreadPool : HandleSetjoin()thread2 sleepsuntil it becomesthe leadereventthread1 sleepsuntil it becomesthe leaderdeactivate_handle()join()Thread1Thread2handle_events()reactivate_handle()handle_event()eventthread2waits for anew event,thread1processescurrenteventdeactivate_handle()handle_events()new_leader()1.Leader thread demuxing2.Follower thread promotion3.Event handler demuxing & event processing4.Rejoining the thread poolpromote_Supporting OO Async Communication (1/2)ContextSome clients want to invoke remote operations, continue their work, & retrieve the results at a later point in timeProblemUsing the explicit message-passing API of the Messaging pattern can reduce type-safety & performanceSimilar to motivation for Proxy pattern.ClientServerRequest messagesRequest messagesReply messagesSupporting OO Async Communication (2/2)SolutionApply the Active Object design pattern (P2) to decouple method invocation from method execution using a strongly-typed OO programming modelA proxy provides an interface that allows clients to access methods of an objectA concrete method request is created for every method invoked on the proxyA scheduler receives the method requests & dispatches them on the servant when they become runnableAn activation list maintains pending method requestsA servant implements

注意事项

本文(设计模式-10-并发型设计模式)为本站会员(苏****)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.