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

         Thread-Per-message Pattern

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

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

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

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

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

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

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

  最后,我觉得最实用的一点是应用在服务器的制作上。为了使服务器可以处理多数请求,可以使用这个模式。客户端送达的请求,由主线程来接受。而实际处理该请求,则交给其他线程来负责,服务器的主线程继续回到等待其他客户端请求的状态。

发布了43 篇原创文章 · 获赞 10 · 访问量 17万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章