`
AutomaticThoughts
  • 浏览: 162343 次
社区版块
存档分类
最新评论

一个简单的线程池

 
阅读更多
  1. import java.util.LinkedList;   
  2.   
  3. public class AppThreadPool {   
  4.     private int poolSize;   
  5.   
  6.     private LinkedList queue;   
  7.   
  8.     public AppThreadPool(int poolSize) {   
  9.         this.poolSize = poolSize;   
  10.         queue = new LinkedList();   
  11.         FileWorker[] Pool = new FileWorker[poolSize];   
  12.         for (int i = 0; i < Pool.length; i++) {   
  13.             Pool[i] = new FileWorker();   
  14.             Pool[i].start();   
  15.         }   
  16.     }   
  17.   
  18.     public void addTask(Runnable r) {   
  19.         synchronized (queue) {   
  20.             queue.addLast(r);   
  21.             queue.notify();   
  22.         }   
  23.     }   
  24.   
  25.     public int getSize() {   
  26.         return poolSize;   
  27.     }   
  28.   
  29.     private class FileWorker extends Thread {   
  30.         public void run() {   
  31.             Runnable task;   
  32.             while (true) {   
  33.                 synchronized (queue) {   
  34.                     while (queue.isEmpty()) {   
  35.                         try {   
  36.                             queue.wait();   
  37.                         } catch (InterruptedException e) {   
  38.                             e.printStackTrace();   
  39.                         }   
  40.                     }   
  41.                     task = (Runnable) queue.removeFirst();   
  42.                 }   
  43.                 task.run();   
  44.             }   
  45.         }   
  46.     }   
  47.   
  48. }  
分享到:
评论

相关推荐

    一个简单线程池的实现

    这是一个简单线程池的实现,虽然有很多bug,但是能够简单地实现线程池。

    这是一个使用C++实现的简易线程池.zip

    这是一个使用C++实现的简易线程池.zip这是一个使用C++实现的简易线程池.zip这是一个使用C++实现的简易线程池.zip这是一个使用C++实现的简易线程池.zip这是一个使用C++实现的简易线程池.zip这是一个使用C++实现的简易...

    一个简单的线程池例子

    一个简单的线程池例子;

    linux 实现一个简单的线程池及工作

    linux 实现一个简单的线程池及工作 本实例演示了线程池的创建使用

    VC写的一个简单的线程池

    VC写的一个简单的线程池很值得参考和学习的源代码!!!VC写的一个简单的线程池很值得参考和学习的源代码!!!VC写的一个简单的线程池很值得参考和学习的源代码!!!

    Linux下C线程池实现

    在Linux下用C写的一个简易线程池。系统是RedHat 9,gcc版本"gcc version 4.1.2 20071124 (Red Hat 4.1.2-42)"。文件夹里的源码是按工程组织好的,在文件夹下的test目录下面有一个小的测试程序和Makefile,编译后即可...

    Java简单线程池 线程池中文文档

    简单的线程池程序+中文文档 包结构: com.tangkai.threadpool --SimpleThread.java 工作线程 --TestThreadPool.java 程序入口 --ThreadPoolManager.java 线程池管理类

    C++11 简易线程池实现

    简易的C++11线程池实现,线程池为固定方式,后面会新增非固定模式。

    linux下的一个线程池类

    在linux下实现的一个简单的线程池,可以实现多任务机制,在linux下实现的一个简单的线程池,可以实现多任务机制

    使用Java匿名内部类实现一个简单的线程池.txt

    这段代码实现了一个简单的线程池ExecutorService,其中使用了Java的匿名内部类。在类的构造方法中,首先创建了一个固定大小为5的线程池。然后通过循环提交了10个任务到线程池中执行。每个任务都是一个匿名内部类实现...

    C语言实现的简单线程池

    C语言实现的简单线程池

    易语言真正的线程池简易实现

    易语言简易线程池的实现。 ——V雪落有声V原创。转载请保留。前文:。为了能充分理解本篇文章的内容,需要了解的知识如下:。1.事件对象的使用:http://baike.baidu.com/view/751499.htm。2.信号量的使用:...

    线程池的简单实现

    如果所有线程池线程都始终保持繁忙,但队列中包含挂起的工作,则线程池将在一段时间后创建另一个辅助线程但线程的数目永远不会超过最大值。超过最大值的线程可以排队,但他们要等到其他线程完成后才启动。

    简单C++线程池实现

    这是一个很简单的线程池实现 适合刚开始研究线程池的朋友

    线程池的一个demo

    springboot线程池使用的一个demo,注解开发,很简单,下载即用

    C++简单线程池设计

    C++线程池的简单设计与实现,使用GCC编译,可自己改写为vs编译,使用pthread线程库和curl网络库。

    c++简易线程池

    C++编写的简易线程池,实现了线程安全,需要的朋友可以尝试一下

    线程池使用实例,一个简单的使用线程池的例子

    线程池使用实例,一个简单的使用线程池的例子

Global site tag (gtag.js) - Google Analytics