线程池:

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程序实现线程连接池功能相关推荐

  1. java的io安卓能用吗_阳光沙滩-用java写了一个Socket.IO的服务端,可是用安卓一直连接不上怎么办;...

    在IDEA里面分别写了服务端(Server)和客户端(Client),用localhost可以互相连接成功,发送信息.但是,我在安卓里面写服务端,就一直连接不上,提示连接失败 IDEA java服务端 ...

  2. 程序员杂志为啥没有了_计算机基础知识,程序员必备知识,java必会!新建一个TXT,发生了什么?...

    作者 | ithuangqing 来源 | 编码之外(ID:ithuangqing) 其实我在逐渐使用Windows的过程中发现"记事本"这个工具真的挺好用的!就是它: 平常我喜欢 ...

  3. java线程死锁 cpu 100%_一文学会Java死锁和CPU 100% 问题的排查技巧

    做一个积极的人 编码.改bug.提升自己 我有一个乐园,面向编程,春暖花开 工欲善其事,必先利其器 00 本文简介 作为一名搞技术的程序猿或者是攻城狮,想必你应该是对下面这两个问题有所了解,说不定你在 ...

  4. java简述常见的布局极其特点_请简要说明 Android 中五种常见布局的特点。_学小易找答案...

    [简答题]请简要说明有序广播和无序广播的区别 [简答题]请简要说明 Android 程序结构中 AndroidManifest.xml 的功能? [简答题]简述李村站人工办理进路的作业过程. [简答题 ...

  5. java编写桌球游戏素材小球图片_你学不好Java还是有原因的!拿走这套Java系统教程,自学必备...

    很多同学都遇到过一种情况:就是无论自己怎么学Java,到头来发现学的都是皮毛,当真正去用python去做一个项目的时候,脑袋里面一片空白.完全不知道从何做起! 那是你没有系统的学过一次Java,现在的 ...

  6. java 可以直接当自定义标示符_第2章 Java基本语法.ppt

    <第2章 Java基本语法.ppt>由会员分享,可在线阅读,更多相关<第2章 Java基本语法.ppt(55页珍藏版)>请在人人文库网上搜索. 1.第2章了解Java基本语法, ...

  7. java JLabel改变大小后如何刷新_【基本功】Java动态追踪技术探究

    引子 在遥远的希艾斯星球爪哇国塞沃城中,两名年轻的程序员正在为一件事情苦恼,程序出问题了,一时看不出问题出在哪里,于是有了以下对话: "Debug一下吧." "线上机器, ...

  8. java为属性提供访问器方法_关于继承:Java不继承访问器方法吗?

    给定一个扩展了实现接口" DeeDum"的类" Foo"的类" Bar" public interface DeeDum { public ...

  9. java lt t gt 是什么意思_关于泛型:Java 7中的菱形运算符(&lt;&gt;)有什么意义?...

    Java 7中的菱形操作符允许如下代码: List list = new LinkedList<>(); 然而,在Java 5/6中,我可以简单地写: List list = new Li ...

  10. **Java有哪些悲观锁的实现_阿里秋招Java研发工程师岗:来自校友的面试还原(已拿Offer)...

    前言 本篇题材来自我的校友投稿,他在最近的秋招校招中拿到了蚂蚁金服的实习生Offer,整体思路和面试题目由面试本人--小林提供(译名) 由于作者面试过程中高度紧张,本文中只列出了自己还记得的部分题目. ...

最新文章

  1. 启明云端分享|SSW101B WIFI调试会遇到的问题答疑
  2. linux wlan进程名称,linux无线网络配置无线网卡驱动安装与wlan802.11配置
  3. 有两个python怎么停用其中一_python3.X 复学(2)-----开始了就不要停止
  4. c++ 删除文件_win7 系统电脑C盘哪些文件可以删除掉?
  5. drools 7.x KIE API解析
  6. oracle基础入门(二)
  7. Bitfinex将向纽约总检察长办公室移交“被指控 8.5 亿美元资金挪用案”相关文件
  8. UVa 10950 - Bad Code
  9. WEBMAX函数 动态模糊特效【官方教程】
  10. 如何设计管理员和用户登录界面C语言,管理员登录设计(第7节)
  11. P2P模式的相应/应答的一个例子
  12. 乒乓球发旋转球的关键是什么?
  13. 一个比较全的vim命令
  14. 为什么我说“设计模式”的设计理念是误人子弟?
  15. 佛曰:心底清净方为道
  16. 【JS】两个等号和三个等号的区别
  17. 画手cv什么意思_b站cv和op是什么意思
  18. 麻进:这次不烧作品!
  19. 墨者学院X-Forwarded-For注入漏洞实战
  20. 【正点原子MP157连载】第十二章 按键输入实验-摘自【正点原子】STM32MP1 M4裸机CubeIDE开发指南

热门文章

  1. 中国农业主导市场趋势报告、技术动态创新及市场预测
  2. 中国连帽防护服市场趋势报告、技术动态创新及市场预测
  3. 2021年中国电动气动控制器市场趋势报告、技术动态创新及2027年市场预测
  4. php 向py发起请求,Python向PHP发起GET与POST请求
  5. Docker终失C位,开源少年缘何黑化
  6. 低代码,是否能“取代”开发者?
  7. 双十一重磅福利来袭,拯救 “四大皆空” 的你!
  8. 任正非:华为的岗位没有年龄限制;腾讯微博将于9月28日停止运营;微软关闭Visual Studio Online|极客头条
  9. 给力!一行代码躺赚普通程序员 10 年薪资!
  10. 谷歌排名第一的编程语言,死磕这点应用,小白也能转型!