模式7--ThreadPerMessage
来至《java多线程设计模式》
对每个命令或请求分配一个线程,由这个线程执行工作。
public class Host {
private final Helper helper = new Helper();
public void request(final int count, final char c) {
System.out.println(" request(" + count + "," + c + ") BEGIN");
new Thread() {
public void run() {
helper.handle(count, c);
}
}.start();
System.out.println(" request(" + count + "," + c + ") END");
}
}
public class Main { public static void main(String[] args) { System.out.println("main BEGIN"); Host host = new Host(); host.request(10, 'A'); host.request(20, 'B'); host.request(30, 'C'); System.out.println("main END"); } }
request会建立出新的线程,该线程调用Helper的handle方法,解决handle的耗时,提高client的响应性。
但是Host里面启动线程需要花费时间(Worker Pattern来解决)。
浙公网安备 33010602011771号