- 浏览: 102468 次
- 性别:
- 来自: 杭州
文章分类
最新评论
package pool; import java.util.Collections; import java.util.LinkedList; import java.util.List; import java.util.Timer; import java.util.TimerTask; /** * 固定的线程执行数 */ public class ThreadPool { // 执行总线程 private List<Thread> list; // 执行的最大线程数 private int max; private ThreadTask task; private Timer timer; // 第一次执行的延迟时间 public static final long DELAY = 0; // 重复执行的时间间隔,默认为 1秒 public static final long PERIOD = 1000; // 正在此行的线程 private List<Thread> executing; // 定时器消费者 private class ThreadTask extends TimerTask { @Override public void run() { // 删除执行完的线程 removeDead(executing); int count = executing.size(); // 执行小于max的线程 for (int i = count; i < max && list.size() > 0; i++) { Thread tread = list.remove(list.size() - 1); executing.add(tread); tread.start(); } } } public ThreadPool(int max) { this.max = max; list = Collections.synchronizedList(new LinkedList<Thread>()); executing = Collections.synchronizedList(new LinkedList<Thread>()); task = new ThreadTask(); // false非守护线程,true守护线程,守护线程的定义,当主线程关闭的时候守护线程同时不在执行,反之执行 timer = new Timer(false); timer.schedule(task, DELAY, PERIOD); } // 生产者添加线程 public void excute(Thread thread) { list.add(thread); } // 取出执行完线程的引用 private void removeDead(List<Thread> list) { Thread thread = null; for (int i = 0; i < list.size(); i++) { thread = list.get(i); if (!thread.isAlive()) { list.remove(i); } } } }
发表评论
-
项目中曾经犯过的错
2011-06-03 09:46 6961:改变的入参的值。错误的代码: public static ... -
容易搞混的问题
2011-05-07 14:53 7711:switch语法的运用 public static vo ... -
自写的连接池-生产者消费者
2010-10-25 11:38 790public class DBConnectionPool ... -
内部类和外部类的关系思考
2010-08-19 10:34 847编译期报错的代码 : import ipad.IpadHtt ... -
Stream-->Directory
2010-08-16 09:04 690public class Directory { ... -
FieldReader
2010-08-14 10:35 746package utils; import java.i ... -
sax解析
2010-07-27 17:40 643package mySaxDo; import java ... -
dom树打印
2010-07-22 17:00 1070package demo; import org.apach ... -
socket编程
2010-07-22 09:09 1523服务器端: package server; ... -
单例模式和 properties
2010-07-13 17:04 959import java.io.File; import ja ... -
equals和==小测试
2010-07-01 09:44 802package testSingle; import o ... -
对String对象的操作
2010-06-30 13:50 738/** 写一个方法,实现字符串的反转,如:输入abc,输出c ... -
包装类Integer
2010-06-28 15:02 834package othertest; import or ... -
计算出出现次数最多的字母和该字母出现的次数
2010-06-28 10:13 1044方法一: package testString; im ... -
java调用plsql
2010-06-15 20:48 3483package test; import java.sql. ... -
xml解析(转)
2010-06-15 20:42 718JAVA 2009-11-09 10:22:33 阅读10 ... -
ObjectInputStream流 持久化
2010-06-15 20:39 982ObjectInputStream流 持久化 vo类: ...
相关推荐
python爬虫,简陋的pixabay图片下载器python爬虫,简陋的pixabay图片下载器python爬虫,简陋的pixabay图片下载器python爬虫,简陋的pixabay图片下载器python爬虫,简陋的pixabay图片下载器python爬虫,简陋的pixabay...
《简陋的网上论坛》项目基于Web应用开发技术,利用Eclipse集成开发环境与SQL Server 2012数据库系统构建。该项目虽被形容为“简陋”,但其功能涵盖了一个基本在线论坛的核心要素,包括用户注册登录、发帖、回帖、...
根据提供的标题“播放器的制作(简陋版)”和描述,我们可以推断这是一个学习项目,旨在实现基础的音乐播放功能,并且已经实现了歌词显示。我们将分析这个过程中的关键知识点,以及可能的改进方向。 首先,C#是一种...
2018春季学期JAVA期末大作业---汉诺塔简陋小游戏2018春季学期JAVA期末大作业---汉诺塔简陋小游戏2018春季学期JAVA期末大作业---汉诺塔简陋小游戏2018春季学期JAVA期末大作业---汉诺塔简陋小游戏2018春季学期JAVA期末...
1. 需求分析:理解产品的目标用户、功能需求以及业务目标。 2. 研究与竞品分析:研究竞争对手的产品,了解市场上的最佳实践。 3. 用户画像与场景构建:为不同类型的用户创建代表性的角色,设定使用情境。 4. 原型...
Demo-StarForce无封装简陋不完全版1 本资源是关于Game Framework的 Demo-StarForce 无封装简陋不完全版1,旨在帮助初学框架的开发者快速了解Game Framework的基础功能。下面是从标题、描述、标签和部分内容中生成的...
1. **ViewPager**: ViewPager是Android SDK中的一个组件,用于在屏幕之间进行平滑的左右滑动切换。在新闻客户端中,ViewPager通常用于展示多个页面,如不同类别的新闻列表或文章。 2. **Fragment**: Fragment是...
本项目“socket实现的简陋的聊天室”是一个基于Socket技术的简单应用,旨在帮助嵌入式学习者理解如何使用Socket进行基本的网络通信。在这个小项目中,开发者创建了一个可以让多个用户连接并进行文字交流的环境。 ...
黑黑的控制台写的2048.真的很简陋啊有木有,不过呢,主要是算法
c语言简陋学生管理系统 自己写的,比较简单,能用的拿走
1. **JSP(JavaServer Pages)**:JSP是Java EE平台的一部分,用于创建动态网页。它允许开发者在HTML中嵌入Java代码,或者使用JSP标签库,如JSTL,来处理服务器端逻辑。在这个聊天室中,JSP可能被用来处理用户的输入...
1. **MVC(Model-View-Controller)模式**:这是一种常见的软件设计模式,用于分离应用程序的数据逻辑、用户界面和业务逻辑。Spring框架支持这种模式,使得代码结构更加清晰。 2. **Spring Boot**:简化Spring应用...
极简陋的人机五子棋 第一版 电脑目前只会随机下,还没加AI。估值和算法不好做,数学基础太好,只会加减乘除--||。 界面这块一直是我极度避免的,所以..你们懂得。 也希望好人能顺便稍微轻度的。。。搞搞GUI。 ...
贪吃蛇代码,没写注释,但是程序的函数名可以很容易知道是什么意思
【网上书店jsp简陋的原理源码】是一个用于学习JSP(JavaServer Pages)和相关技术的项目,它提供了一个基础的在线购书平台的实现。这个项目的主要目的是帮助开发者理解JSP、Servlet以及session在实际应用中的工作...
我写的一个超级简陋的 bbs 应用。 .....................................................................
1. 动态加载:当用户滚动页面时,使用AJAX获取更多帖子,而不是一次性加载所有内容。 2. 表单验证:在用户提交帖子或回复前,验证输入是否符合规定格式,如检查用户名和内容的长度。 3. 动画效果:添加一些交互性,...
1. **MVC架构**:理解模型、视图和控制器的职责,如何通过它们协作来构建Web应用。 2. **ASP.NET MVC 4**:学习其特性和改进,如移动设备支持,以及如何在VS2010中创建和配置MVC项目。 3. **代码优先开发**:了解...