public class Worker implements Runnable { public Worker(SyncQueue queue) { _queue = queue; } public void run() { while (true) { Runnable task = (Runnable) _queue.get(); task.run(); } } protected SyncQueue _queue = null; }
下面是一个使用这个Thread缓冲池的例子:
//构造Thread缓冲池 SyncQueue queue = new SyncQueue(10); for (int i = 0; i < 5; i ++) { new Thread(new Worker(queue)).start(); } //使用Thread缓冲池 Runnable task = new MyTask(); queue.put(task); 为了使本文中的代码尽可能简单,这个Thread缓冲池的实现是一个基本的框架。当使用到实际中时,一些其他功能也可以在这一基础上添加,比如异常处理,动态调整缓冲池大小等等。