熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

Java進階:一個簡單Thread緩沖池的實現[3]

2013-11-23 19:38:27  來源: Java核心技術 

  在以上代碼中使用了ExceptionAdapter這個類它的作用是把一個checked Exception包裝成RuntimeException詳細的說明可以參考我的避免在Java中使用Checked Exception一文

  接下來我們需要一個對象來表現Thread緩沖池所要執行的任務可以發現JDK中的Runnable interface非常合適這個角色

  最後剩下工作線程的實現就很簡單了從SyncQueue裡取出一個Runnable對象並執行它

  public class Worker implements Runnable {

  public Worker(SyncQueue queue) {

  _queue = queue;

  }

  public void run() {

  while (true) {

  Runnable task = (Runnable) _queueget();

  taskrun();

  }

  }

  protected SyncQueue _queue = null;

  }

 

  下面是一個使用這個Thread緩沖池的例子

 

  //構造Thread緩沖池

  SyncQueue queue = new SyncQueue();

  for (int i = ; i < ; i ++) {

  new Thread(new Worker(queue))start();

  }

  //使用Thread緩沖池

  Runnable task = new MyTask();

  queueput(task);

  為了使本文中的代碼盡可能簡單這個Thread緩沖池的實現是一個基本的框架當使用到實際中時一些其他功能也可以在這一基礎上添加比如異常處理動態調整緩沖池大小等等

[]  []  []  


From:http://tw.wingwit.com/Article/program/Java/hx/201311/27223.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.