电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

100行Java代码构建一个线程池VIP免费

100行Java代码构建一个线程池_第1页
1/6
100行Java代码构建一个线程池_第2页
2/6
100行Java代码构建一个线程池_第3页
3/6
100 行Java 代码构建一个线程池 本示例程序由三个类构成,第一个是TestThreadPool 类,它是一个测试程序,用来模拟客户端的请求,当你运行它时,系统首先会显示线程池的初始化信息,然后提示你从键盘上输入字符串,并按下回车键,这时你会发现屏幕上显示信息,告诉你某个线程正在处理你的请求,如果你快速地输入一行行字符串,那么你会发现线程池中不断有线程被唤醒,来处理你的请求,在本例中,我创建了一个拥有 10 个线程的线程池,如果线程池中没有可用线程了,系统会提示你相应的警告信息,但如果你稍等片刻,那你会发现屏幕上会陆陆续续提示有线程进入了睡眠状态,这时你又可以发送新的请求了。 第二个类是 ThreadPoolManager 类,顾名思义,它是一个用于管理线程池的类,它的主要职责是初始化线程池,并为客户端的请求分配不同的线程来进行处理,如果线程池满了,它会对你发出警告信息。 最后一个类是 SimpleThread 类,它是Thread 类的一个子类,它才真正对客户端的请求进行处理,SimpleThread 在示例程序初始化时都处于睡眠状态,但如果它接受到了 ThreadPoolManager 类发过来的调度信息,则会将自己唤醒,并对请求进行处理。 首先我们来看一下 TestThreadPool 类的源码: //TestThreadPool.java 1 import java.io.*; 2 3 4 public class TestThreadPool 5 { 6 public static void main(String[] args) 7 { 8 try{ 9 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 10 String s; 11 ThreadPoolManager manager = new ThreadPoolManager(10); 12 while((s = br.readLine()) != null) 13 { 14 manager.process(s); 15 } 16 }catch(IOException e){} 17 } 18 } 由于此测试程序用到了输入输入类,因此第1 行导入了 JAVA 的基本 IO 处理包,在第 11 行中,我们创建了一个名为 manager 的类,它给 ThreadPoolManager 类的构造函数传递了一个值为 10 的参数,告诉 ThreadPoolManager 类:我要一个有10 个线程的池,给我创建一个吧!第 12 行至 15 行是一个无限循环,它用来等待用户的键入,并将键入的字符串保存在 s 变量中,并调用 ThreadPoolManager 类的 process方法来将这个请求进行处理。 下面我们再进一步跟踪到 ThreadPoolManager 类中去,以下是它的源代码: //ThreadPoolManager.java 1 imp...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

100行Java代码构建一个线程池

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部