您的当前位置:首页互联网程序设计实验三

互联网程序设计实验三

2021-12-09 来源:小侦探旅游网
实验报告(三)

课程名称:互联网程序设计 姓名:

实验名称:实验三 线程池与一客户一线程(2学时) 一、实验目的及要求 1.理解掌握服务器线程池通用技术根架。 2.用线程池技术替换一客户一线程方法,改写EchoServer。 二、实验环境 多媒体计算机 Windows7操作系统 JDK 8 Netbeans IDE8.2(开发语言Java) 三、实验内容 1.拓展服务器KKServer的线程池设计。 2.用线程池技术改写EchoServer,实现一客户一线程与线程池之间的比较学习,理解两者之间的技术差异,领会线程池的技术本质。 四、实验步骤(或记录)及相关代码 1.拓展服务器线程设计: 年级:2017级 学号:

实验日期: 班级:

教师评语(成绩):

代码修改部分如下:

int threadPoolSize=Integer.valueOf(txtRemoteNumber.getText().trim());

fixedPool=Executors.newFixedThreadPool(threadPoolSize);//创建固定大小线程池 结果:

2.用线程池技术改写EchoServer: 界面设计:

结果:

思考:

(1)Java线程池的技术框架是如何定义实现的?

答:首先导入包:mport java.util.concurrent.ExecutorService; 然后定义:private ExecutorService fixedPool; //线程池

再然后设定大小:fixedPool=Executors.newFixedThreadPool(fixe); 最后用线程池调度客户线程运行:fixedPool.execute(clientThread); (2)线程池的大小应该由哪些因素确定?

答:CPU个数,内存大小,任务类型,资源类型等等。

(3)什么情况下,客户线程用SwingWorker类替代Thread类会更好? 答:需要在后台线程中运行长时间运行的任务并在完成或处理时向UI提供更新的情况下,用SwingWorker类替代Thread类会更好。

五、总结 对上机实践结果进行分析,问题回答,上机的心得体会及改进意见。 通过本次实验明白了线程池的基础,和它的技术本质,也明白了一客户一线程与线程池之间的差异。

因篇幅问题不能全部显示,请点此查看更多更全内容