go4it

just do it

模式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来解决)。

 

posted on 2009-05-08 23:09  cxccbv  阅读(207)  评论(0)    收藏  举报

导航