Thread-Per-Message 模式
所谓Per,就是“每~”的意思。因此,Thread-Per-Message直译过来就是“每个消息一个线程”的意思。Message在这里可以理解为“命令”或“请求”。为每个命令或请求新分配一个线程,由这个线程来执行处理。
在Thread-Per-Message 模式中,消息的“委托端”和“执行端”是不同的线程。消息的委托端线程会告诉执行端线程“这项工作就交给你了”。
示例程序
在示例程序中,Main类委托Host类来显示字符。Host类会创建并启动一个线程,来处理该委托。启动的线程使用Helper类来执行实际的显示。
类的一览表
名字 | 说明 |
---|---|
Main | 向Host发送字符显示请求的类 |
Host | 针对请求创建线程的类 |
Helper | 提供字符显示功能的被动类 |
Main类
Main类会先创建一个Host类的实例,然后调用Host的request方法。
1 | public class Main { |
Host类
1 | public class Host { |
Helper类
1 | public class Helper { |