请写一个java程序实现线程连接池功能_请写一个java程序实现线程连接池功能
线程池:
import java.util.linkedlist;
public abstract class manager {
private string mthreadpoolname = null;
private int mthreadpoolmaxsize = 1;
private linkedlist workers = new linkedlist();
public manager() {
}
public manager(string name, int poolmaxsize) {
mthreadpoolname = name;
createworker(name, poolmaxsize);
mthreadpoolmaxsize = poolmaxsize;
}
private void createworker(int poolmaxsize) {
for (int i = 0; i < poolmaxsize; i++) {
worker worker = new ...worker(this);
workers.addlast(worker);
}
}
public synchronized worker getidleworker() {
return (worker)workers.removefirst();
}
public synchronized void notifyfree(worker worker) {
if (workers.size() < mthreadpoolmaxsize) {
workers.addlast(worker);
} else {
worker = null;
}
}
public int getthreadpoolmaxsize() {
return mthreadpoolmaxsize;
}
public void setthreadpoolmaxsize(int threadpoolmaxsize) {
this.mthreadpoolmaxsize = threadpoolmaxsize;
}
}
线程抽象类
public abstract class worker implements runnable {
private manager mmanager = null;
private thread mthread = null;
public worker() {
}
public worker(string threadname, manager manager) {
mmanager = manager;
mthread = new thread(this, threadname);
init();
mthread.start();
}
public abstract void init();
public void run() {
while (true) {
waitforstart();
worker worker = mmanager.getidleworker();
process();
isrunning = false;
mmanager.notifyfree(worker);
}
}
public abstract void process();
public void start() {
isrunning = true;
mmanager.getidleworker();
notifytostart();
}
public synchronized void waitforstart() {
try {
wait();
} catch (interruptedexception ex) {
}
}
public synchronized void notifytostart() {
notify();
}
}
如果发现本文有误,欢迎批评指正
分享到:
2008-08-12 21:53
浏览 6789
评论
1 楼
blaiu
2011-03-30
worker worker = new ...worker(this); 不明白楼主 写的是什么意思,抽象类不是不能new吗?
请写一个java程序实现线程连接池功能_请写一个java程序实现线程连接池功能相关推荐
- java的io安卓能用吗_阳光沙滩-用java写了一个Socket.IO的服务端,可是用安卓一直连接不上怎么办;...
在IDEA里面分别写了服务端(Server)和客户端(Client),用localhost可以互相连接成功,发送信息.但是,我在安卓里面写服务端,就一直连接不上,提示连接失败 IDEA java服务端 ...
- 程序员杂志为啥没有了_计算机基础知识,程序员必备知识,java必会!新建一个TXT,发生了什么?...
作者 | ithuangqing 来源 | 编码之外(ID:ithuangqing) 其实我在逐渐使用Windows的过程中发现"记事本"这个工具真的挺好用的!就是它: 平常我喜欢 ...
- java线程死锁 cpu 100%_一文学会Java死锁和CPU 100% 问题的排查技巧
做一个积极的人 编码.改bug.提升自己 我有一个乐园,面向编程,春暖花开 工欲善其事,必先利其器 00 本文简介 作为一名搞技术的程序猿或者是攻城狮,想必你应该是对下面这两个问题有所了解,说不定你在 ...
- java简述常见的布局极其特点_请简要说明 Android 中五种常见布局的特点。_学小易找答案...
[简答题]请简要说明有序广播和无序广播的区别 [简答题]请简要说明 Android 程序结构中 AndroidManifest.xml 的功能? [简答题]简述李村站人工办理进路的作业过程. [简答题 ...
- java编写桌球游戏素材小球图片_你学不好Java还是有原因的!拿走这套Java系统教程,自学必备...
很多同学都遇到过一种情况:就是无论自己怎么学Java,到头来发现学的都是皮毛,当真正去用python去做一个项目的时候,脑袋里面一片空白.完全不知道从何做起! 那是你没有系统的学过一次Java,现在的 ...
- java 可以直接当自定义标示符_第2章 Java基本语法.ppt
<第2章 Java基本语法.ppt>由会员分享,可在线阅读,更多相关<第2章 Java基本语法.ppt(55页珍藏版)>请在人人文库网上搜索. 1.第2章了解Java基本语法, ...
- java JLabel改变大小后如何刷新_【基本功】Java动态追踪技术探究
引子 在遥远的希艾斯星球爪哇国塞沃城中,两名年轻的程序员正在为一件事情苦恼,程序出问题了,一时看不出问题出在哪里,于是有了以下对话: "Debug一下吧." "线上机器, ...
- java为属性提供访问器方法_关于继承:Java不继承访问器方法吗?
给定一个扩展了实现接口" DeeDum"的类" Foo"的类" Bar" public interface DeeDum { public ...
- java lt t gt 是什么意思_关于泛型:Java 7中的菱形运算符(&lt;&gt;)有什么意义?...
Java 7中的菱形操作符允许如下代码: List list = new LinkedList<>(); 然而,在Java 5/6中,我可以简单地写: List list = new Li ...
- **Java有哪些悲观锁的实现_阿里秋招Java研发工程师岗:来自校友的面试还原(已拿Offer)...
前言 本篇题材来自我的校友投稿,他在最近的秋招校招中拿到了蚂蚁金服的实习生Offer,整体思路和面试题目由面试本人--小林提供(译名) 由于作者面试过程中高度紧张,本文中只列出了自己还记得的部分题目. ...
最新文章
- 启明云端分享|SSW101B WIFI调试会遇到的问题答疑
- linux wlan进程名称,linux无线网络配置无线网卡驱动安装与wlan802.11配置
- 有两个python怎么停用其中一_python3.X 复学(2)-----开始了就不要停止
- c++ 删除文件_win7 系统电脑C盘哪些文件可以删除掉?
- drools 7.x KIE API解析
- oracle基础入门(二)
- Bitfinex将向纽约总检察长办公室移交“被指控 8.5 亿美元资金挪用案”相关文件
- UVa 10950 - Bad Code
- WEBMAX函数 动态模糊特效【官方教程】
- 如何设计管理员和用户登录界面C语言,管理员登录设计(第7节)
- P2P模式的相应/应答的一个例子
- 乒乓球发旋转球的关键是什么?
- 一个比较全的vim命令
- 为什么我说“设计模式”的设计理念是误人子弟?
- 佛曰:心底清净方为道
- 【JS】两个等号和三个等号的区别
- 画手cv什么意思_b站cv和op是什么意思
- 麻进:这次不烧作品!
- 墨者学院X-Forwarded-For注入漏洞实战
- 【正点原子MP157连载】第十二章 按键输入实验-摘自【正点原子】STM32MP1 M4裸机CubeIDE开发指南
热门文章
- 中国农业主导市场趋势报告、技术动态创新及市场预测
- 中国连帽防护服市场趋势报告、技术动态创新及市场预测
- 2021年中国电动气动控制器市场趋势报告、技术动态创新及2027年市场预测
- php 向py发起请求,Python向PHP发起GET与POST请求
- Docker终失C位,开源少年缘何黑化
- 低代码,是否能“取代”开发者?
- 双十一重磅福利来袭,拯救 “四大皆空” 的你!
- 任正非:华为的岗位没有年龄限制;腾讯微博将于9月28日停止运营;微软关闭Visual Studio Online|极客头条
- 给力!一行代码躺赚普通程序员 10 年薪资!
- 谷歌排名第一的编程语言,死磕这点应用,小白也能转型!