package vortex.practise.Threads; import java.util.LinkedList; import java.util.List; public class ThreadPool { //单例返回变量 private static ThreadPool instance = null; //内部类数组 private static InnerFactory[] IF; //线程池大小 private static int poolSize = 0; //队列 private static LinkedList<Runnable> queue = new LinkedList<Runnable>(); //私有构造器 private ThreadPool(){ } //获得单例 public static ThreadPool getNewInstance(){ if(instance==null){ instance = new ThreadPool(); } return instance; } //创建线程池 //根据传入的参数开启内部类的线程 public void createPool(int size){ this.poolSize = size; IF = new InnerFactory[size]; for(int i=0;i<size;i++){ IF[i] = new InnerFactory(); IF[i].start(); } } //传入参数放置进入队列 public void excuteThread(Runnable[] runs) throws Exception{ if(poolSize==0){ throw new Exception("please create poolSize!"); } if(runs==null){ throw new Exception("no parameters!"); }else{ for(Runnable run:runs){ synchronized(queue){ queue.addLast(run); queue.notify(); } } } } /** * * @author Vortex * * */ private class InnerFactory extends Thread{ public void run() { // TODO Auto-generated method stub Runnable r; int flag = 0; while(true){ synchronized(queue){ while(queue.isEmpty()){ try { queue.wait(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } r = queue.removeFirst(); r.run(); } } } } }
笔记。
相关推荐
这是一个使用C++实现的简易线程池.zip这是一个使用C++实现的简易线程池.zip这是一个使用C++实现的简易线程池.zip这是一个使用C++实现的简易线程池.zip这是一个使用C++实现的简易线程池.zip这是一个使用C++实现的简易...
这是一个简单线程池的实现,虽然有很多bug,但是能够简单地实现线程池。
简易的C++11线程池实现,线程池为固定方式,后面会新增非固定模式。
简单的线程池程序+中文文档 包结构: com.tangkai.threadpool --SimpleThread.java 工作线程 --TestThreadPool.java 程序入口 --ThreadPoolManager.java 线程池管理类
C语言实现的简单线程池
C++编写的简易线程池,实现了线程安全,需要的朋友可以尝试一下
C++线程池的简单设计与实现,使用GCC编译,可自己改写为vs编译,使用pthread线程库和curl网络库。
简单线程池的实现。提供添加删除线程,执行任务
易语言简易线程池的实现。 ——V雪落有声V原创。转载请保留。前文:。为了能充分理解本篇文章的内容,需要了解的知识如下:。1.事件对象的使用:http://baike.baidu.com/view/751499.htm。2.信号量的使用:...
由C语言实现简单的线程池,任务调配,合理创建销毁线程处理任务
NULL 博文链接:https://username2.iteye.com/blog/1728583
vs2015 实现的线程池,Task是任务类,Thread线程类。
端口转发程序,简单线程池实现,在此基础上可以改进
用C ++ 11和Folly实现的简单线程池(facebook C ++基础库).zip
NULL 博文链接:https://forhope.iteye.com/blog/481900
从项目中整理的线程池,具体使用方法参加TestMyThreadPool.cpp
此文档是: 基于简单线程池概念的JAVA服务器端应用 附有连接ORACLE数据库等简单操作. 操作描述: 服务器启动后,会启动10个子线程运行.(配合客户端10个请求进行模拟,控制台输出模拟过程) 服务器主程序进入一个有...
用C++对线程池的一种简单实现,容易看懂的