您的位置:首页 > 编程语言

Thread-Per-message Pattern--JAVA多线程编程模式(7)

2009-03-08 11:43 501 查看
         Thread-Per-message Pattern

              ----这个工作交给你了

  上司把文件交给下属,指示:“能帮我传真这份文件吗?”。将一份工作拜托别人去做是件很平常的事情。拜托别人:“这个工作交给你了”以后,就回来继续做自己的事情。

  在这个程序中,我们大体描述一下范例程序的作用,相信读者脑海里能很快浮现程序的具体实现。共有三个角色,即三个类,main类会委托Host显示文字。Host会启动一个线程,来处理这项委托的工作。启动的线程,会使用helper类实际进行显示操作。

  对于这个模式,我觉得最主要是要知道它有什么益处以及在什么场合下适用。

  首先,很明显,他能提升响应性,降低延迟时间。

  这里的host对于client端(main类)的响应性会提高,延迟时间会下降。尤其是当handl(helper类)的操作很花时间的时候,尤其是handl的操作需要等待输出入操作(I/O)时,效果特别明显。但是不可忽视的一点是,这个模式中需要启动线程,要知道启动线程也是需要时间的,所以这是一个鱼与熊掌不可兼得的关系,看设计人怎么权衡了。

  其次,这个操作适合操作顺序无所谓的时候,且不需要返回值的时候。

  最后,我觉得最实用的一点是应用在服务器的制作上。为了使服务器可以处理多数请求,可以使用这个模式。客户端送达的请求,由主线程来接受。而实际处理该请求,则交给其他线程来负责,服务器的主线程继续回到等待其他客户端请求的状态。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: