java线程池简单例子
来源:互联网 发布:在淘宝开店和天猫开店 编辑:程序博客网 时间:2024/05/28 19:24
package ThreadPool;import java.util.concurrent.BlockingQueue;import java.util.concurrent.LinkedBlockingQueue;public class ThreadPool {private BlockingQueue<Runnable> blockingQueue;private int poolSize;private int workSize;public ThreadPool(int size){poolSize = size;workSize = 0;blockingQueue = new LinkedBlockingQueue<Runnable>();}public synchronized void excute(Runnable t){if(workSize == poolSize){ blockingQueue.add(t);notify();}else {new Thread(new WorkThread("线程"+workSize,t)).start();workSize = workSize + 1;}}public synchronized Runnable getTask () throws InterruptedException{if(blockingQueue.size() == 0){wait();}return blockingQueue.poll();}private class WorkThread implements Runnable{private String threadName;private Runnable firstRunnable;public WorkThread(String name,Runnable t){this.firstRunnable = t;this.threadName = name;}@Overridepublic void run() {// TODO Auto-generated method stubwhile(true){try {if(firstRunnable != null){System.out.println(threadName + "运行中");firstRunnable.run();firstRunnable = null;}else {Runnable runnable = getTask();if(runnable == null)return;System.out.println(threadName + "运行中");runnable.run();}Thread.sleep(3000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}}
0 0
- java线程池简单例子
- java线程池最简单例子
- 线程池简单例子
- java线程及操作实例,线程池简单例子
- java线程同步简单例子
- java 线程的简单例子
- java线程同步简单例子
- JAVA线程池源码探究与简单小例子
- JAVA线程池例子
- JAVA线程池例子
- JAVA线程池例子
- JAVA线程池例子
- JAVA线程池例子
- JAVA线程池例子
- JAVA线程池例子
- JAVA线程池例子
- Java线程池例子
- JAVA线程池例子
- Python Scapy(2.3.1)文档学习(二):下载和安装
- InnoDB和MyISAM的区别
- 集合的全排列问题
- 跟踪sys_mkdir的系统调用过程
- Joseph环的详解(python实现)
- java线程池简单例子
- mac 下搭建apache的诸多问题
- [刷题]Validate Binary Search Tree
- NYOJ 73 比大小
- 日语学习之沪江N3基础 20150401 -2
- 两种判断网络是否连接的方式
- Android学习之路——Activity(1)
- 二维数组的初始化
- java关键字 谈final static区别