欢迎来到天天文库
浏览记录
ID:9532971
大小:94.50 KB
页数:5页
时间:2018-05-03
《java线程池线程实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验名称Java编程基础(课外部分)姓名_汪何媛_______学号__100341324_____实验日期2012年11月1日实验报告日期2012年11月11日成绩___________________一.实验目的1.理解并掌握Java中借口的基本概念和具体应用;2.熟悉掌握Java中线程的定义和基本操作;3.理解线程池的概念,以及常用的线程调度方法。二.实验环境1.准备SNU的IDK6安装文件;2.Java程序开发软件一套---MyEclipse6.0三.实验实际完成内容及结果分析1、请上机调试并运行下面的程序,给出程序的运行结果,并回答以下问题:(1)本
2、程序执行时共创建了多少线程,每个线程的任务什么,分别是如何执行的?(2)根据程序的运行结果说明Thread.yield();这条语句对线程调度的影响。publicclassmyThreadClassextendsThread{volatilestaticbooleanStop=false;publicstaticvoidmain(Stringargs[])throwsInterruptedException{myThreadClassthread1=newmyThreadClass();thread1.setPriority(4);//设置优先级myThre
3、adClassthread2=newmyThreadClass();//定义线程thread2.setPriority(4);thread1.start();thread2.start();//执行线程Thread.sleep(5*1000);//调用sleep方法Stop=true;}publicvoidrun(){System.out.println(Thread.currentThread()+"Created");intcount=0;for(;Stop!=true;){count++;Thread.yield();System.out.printl
4、n(Thread.currentThread()+"Threadterminates.Loopcountis"+count);}}}运行结果:2、请上机调试并运行本章例题中的线程池程序,给出程序的运行结果,并回答以下问题:(1)本例中是如何定义池(pool)的(采用了什么样的数据结构类),池的作用是什么,对池的操作有哪些,分别是如何实现的。(2)本例中线程池中共定义了多少个线程,这些线程是如何调度执行的,使用了哪些线程调度的方法。(3)如果将该线程池的任务改为计算给定文件夹下所有文件的摘要信息,应该如何修改源程序。publicclassThreadPoolT
5、ester{publicstaticvoidmain(String[]args){if(args.length!=2){System.out.println("用法:javaThreadPoolTestnumTaskspoolSize");System.out.println("numTasksinteger:任务的数目");System.out.println("numThreadsinteger:线程池中的线程数目");return;}intnumTasks=Integer.parseInt(args[0]);intpoolSize=Integer.pa
6、rseInt(args[1]);ThreadPoolthreadPool=newThreadPool(poolSize);for(inti=0;i7、p(500);}catch(InterruptedExceptionex){}System.out.println("Task"+taskID+":end");}};}}importjava.util.LinkedList;publicclassThreadPoolextendsThreadGroup{privatebooleanisClosed=false;privateLinkedListworkQueue;privatestaticintthreadPoolID;privateintthreadID;publicThreadPool8、(intpoolSize){super("Threa
7、p(500);}catch(InterruptedExceptionex){}System.out.println("Task"+taskID+":end");}};}}importjava.util.LinkedList;publicclassThreadPoolextendsThreadGroup{privatebooleanisClosed=false;privateLinkedListworkQueue;privatestaticintthreadPoolID;privateintthreadID;publicThreadPool
8、(intpoolSize){super("Threa
此文档下载收益归作者所有