java编写线程连接池代码

2014-11-23 23:34:37 · 作者: · 浏览: 0
java编写线程连接池代码如下:
  1. 线程池:
  2. import java.util.LinkedList;
  3. public abstract class Manager {
  4. private String mThreadPoolName = null;
  5. private int mThreadPoolMaxSize = 1;
  6. private LinkedList workers = new LinkedList();
  7. public Manager() {
  8. }
  9. public Manager(String name, int poolMaxSize) {
  10. mThreadPoolName = name;
  11. createWorker(name, poolMaxSize);
  12. mThreadPoolMaxSize = poolMaxSize;
  13. }
  14. private void createWorker(int poolMaxSize) {
  15. for (int i = 0; i < poolMaxSize; i ) {
  16. Worker worker = new ...Worker(this);
  17. workers.addLast(worker);
  18. }
  19. }
  20. public synchronized Worker getIdleWorker() {
  21. return (Worker)workers.removeFirst();
  22. }
  23. public synchronized void notifyFree(Worker worker) {
  24. if (workers.size() < mThreadPoolMaxSize) {
  25. workers.addLast(worker);
  26. } else {
  27. worker = null;
  28. }
  29. }
  30. public int getThreadPoolMaxSize() {
  31. return mThreadPoolMaxSize;
  32. }
  33. public void setThreadPoolMaxSize(int threadPoolMaxSize) {
  34. this.mThreadPoolMaxSize = threadPoolMaxSize;
  35. }
  36. }
  37. 线程抽象类
  38. public abstract class Worker implements Runnable {
  39. private Manager mManager = null;
  40. private Thread mThread = null;
  41. public Worker() {
  42. }
  43. public Worker(String threadName, Manager manager) {
  44. mManager = manager;
  45. mThread = new Thread(this, threadName);
  46. init();
  47. &nb