WEB开发网
开发学院软件开发Java 多线程设计模式 -- Thread-Per-Message 阅读

多线程设计模式 -- Thread-Per-Message

 2009-09-17 00:00:00 来源:WEB开发网   
核心提示:代理执行类 Java代码publicclassHost{privatefinalHelperhelper=newHelper();publicvoidrequest(finalintcount,finalcharc){System.out.println("request("+count+"

代理执行类

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"); 
  } 
}

执行类

Java代码   

public class Helper { 
  public void handle(int count, char c) { 
    System.out.println("    handle(" + count + ", " + c + ") BEGIN"); 
    for (int i = 0; i < count; i++) { 
      slowly(); 
      System.out.print(c); 
    } 
    System.out.println(""); 
    System.out.println("    handle(" + count + ", " + c + ") END"); 
  } 
  private void slowly() { 
    try { 
      Thread.sleep(100); 
    } catch (InterruptedException e) { 
    } 
  } 
}

Java代码   

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"); 
  } 
}

利用这个模式主线程不会等待执行任务的返回,就立即返回.

对于网络分布式系统中不需要返回结果的IO流效率有很大的提高.还有一些比较耗时的方法也很有帮助.经典!

适合环境:

1.提升响应性,降低延迟时间

2.适合在操作顺序无所谓时使用

3.不需要返回值的时候

4.应用在服务器的制作

5.调用方法+启动线程--->传送消息

Tags:线程 设计模式 Thread

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接