最近在看线程池的类容,自己动手实现一个
package cn.RJ.utils; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.ReentrantLock; /** * 线程池 * @author RJ * */ public class MyThreadPool extends ThreadPoolExecutor { private static final int POOL_SIZE = 10; private boolean is_paused ; private ReentrantLock pause_lock = new ReentrantLock(); private Condition unpaused = pause_lock.newCondition(); public MyThreadPool(){ super(POOL_SIZE,POOL_SIZE,0L,TimeUnit.SECONDS,new LinkedBlockingQueue<Runnable>(POOL_SIZE)); } protected void beforeExecute(Thread t, Runnable r){ super.beforeExecute(t, r); pause_lock.lock(); try { while(is_paused){ unpaused.await(); } } catch (Exception e) { t.interrupt(); }finally{ pause_lock.unlock(); } } public void pause(){ pause_lock.lock(); try { is_paused = true; }finally{ pause_lock.unlock(); } } public void resume(){ pause_lock.lock(); try { is_paused = false; unpaused.signalAll(); } finally{ pause_lock.unlock(); } } }
发表评论
-
jvm常用设置
2015-09-08 22:48 387在我们实际工作中,可能会经常对JVM有一些设置,但是很多设置都 ... -
WebService相关
2015-07-26 21:55 976之前由于工作需要 ... -
java RMI
2015-07-23 23:04 444JAVA RMI相关 分布 ... -
java jdbc 连接池
2015-07-21 00:18 485经常使用hibernate,在使用hibernate的时候经常 ... -
java 流传输压缩包
2015-07-14 23:14 582有的时候,页面上的下载文件是从后台使用流的形式下载来的,而不是 ... -
java 网络传输文件
2015-06-01 21:14 437package sterning; import java. ... -
java MD5加密
2015-03-30 14:41 303MD5是常用的加密算法,也经常用于校验信息完整,如文件的完整性 ... -
java 并发容器
2014-12-18 23:19 359在多线程的开发 ... -
java设计模式 之 builder模式
2014-12-11 22:19 418最近在看java设计模式,看到builder模式感觉十分不错, ... -
网上见到一篇compareTo文章较好,收藏之
2014-12-04 21:04 5471、compareTo(Object o)方法是jav ... -
Hibernate 和 spring 整合使用
2014-10-14 21:28 757在hibernate和spring时总结的一些知识,以供将来查 ... -
hiernate 集中管理session
2014-10-13 21:55 488问题: 使用hibern ... -
java写入txt文件
2014-05-22 23:10 1101File file = new File("d: ... -
POI读取excel
2014-05-22 23:05 907读取excel大概在java中有两种方法,选用apache的P ... -
定时器 quartz 和 spring
2014-04-17 23:30 488最近学习了一个quartz 和spring 的定时调度 这个 ... -
java 基于Struts2的 文件上传和下载
2014-04-03 22:56 534文件上传: 页面代码: <form action=' ... -
java IO
2014-03-23 23:23 415import java.io.BufferedReader ... -
自己写的一个JDBC工具类
2014-03-11 20:00 1171在最近的一段时间写毕业设计,由于本科阶段的毕业设计不是特别大的 ... -
java汉字数字转换成阿拉伯数字
2014-02-20 17:14 6562今天做一个日期转换的时候发现有些时间是用大写汉字写成的,需 ...
相关推荐
简单的线程池程序+中文文档 包结构: com.tangkai.threadpool --SimpleThread.java 工作线程 --TestThreadPool.java 程序入口 --ThreadPoolManager.java 线程池管理类
Java中线程池框架核心代码分析
Reference: 《创建Java线程池》[1],《Java线程:新特征-线程池》[2], 《Java线程池学习》[3],《线程池ThreadPoolExecutor使用简介》[4],《Java5中的线程池实例讲解》[5],《ThreadPoolExecutor使用和思考》[6] ...
JAVA使用线程池查询大批量数据
目标:Java中多线程技术是一个难点,但是也是一个核心技术。因为Java本身就是一个多线程语言。本人目前在给46班讲授Swing的网络编程--使用Swing来模拟真实的QQ实时聊天软件。因为涉及到Socket编程,所以一定会使用多...
Java版线程池实现
java 线程池 完整 源码 java 线程池 完整 源码
主要给大家介绍了关于java线程池使用后到底要不要关闭的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
Java中Executors类中几种创建各类型线程池方法及简单实例
Java concurrency线程池之线程池原理(一)_动力节点Java学院整理,动力节点口口相传的Java黄埔军校
JAVA实现的线程池,可以直接在正规大型项目中套用。如果有不懂的,可以问我,QQ:452242541,加时注明csdn
java 线程池 java 线程池 java 线程池 java 线程池
通过剖析Java中线程池的原理,解读Java线程池源码,并给出线程池调用的示例,帮助理解线程池的基本原理。
Java实现通用线程池
java线程池封装j
其中线程池管理器(ThreadPool Manager)的作用是创建、销毁并管理线程池,将工作线程放入线程池中;工作线程是一个可以循环执行任务的线程,在没有任务时进行等待;任务队列的作用是提供一种缓冲机制,将没有处理的...
自定义实现Java线程池,学习大师设计思想,瞻仰大神笔法
Java线程池使用说明Java线程池使用说明Java线程池使用说明
主要介绍了Java8并行流中自定义线程池操作,结合实例形式分析了并行流的相关概念、定义及自定义线程池的相关操作技巧,需要的朋友可以参考下
ThreadPool 线程池类 DEFAULT_POOL_SIZE 默认线程池大小 threadPool 线程队列 taskQueue 任务队列 poolSize 自定义线程池大小 通过构造启动该线程池,调用addTask 方法将task任务传入,线程池会自动分配线程去执行...