还剩4页未读,继续阅读
文本内容:
面向对象程序设计A Java实验报告实验名称多线程实验实验类型:指导教师刘涌专业班级信安1203姓名黄学强学号20111899实验地点东六E301实验成绩:日期年月日2014430实验六多线程实验
一、实验目的练习多线程类的两种实现方法,理解多线程程序的生命周期
二、实验内容编写一多线程程序,实现如下功能一个线程进行阶乘和的运算每次阶乘计算时间随机间隔11!+2!+3!+……+30!,秒;
0.5-1另一个线程每隔秒时间读取上个线程的运算结果和计算进程,并在图形界面中实时显
20.1示结果
三、实验要求正确设计显示运行结果和计算进程的图形用户界面;1分别采用类的子类和接口两种方式完成两个线程的设计;2Thread Runable进行全面的测试并分析测试结果;3
四、实验设计、先用方式建立应用程序框架其中选用;1Java Applicationframe onscreen、实现界面设计其中用布局2xyLayout、用两种方法实现多线程3方法
一、设计两个线程和线程分别继承线程ComputeThread ReadThreadThread线程实现阶乘和运算,用循环实现阶乘和运算线程实现ComputeThread forReadThread在窗口显示结果和进程方法
二、和线程分另接口ComputeThread ReadThreadU Runnable运算方法同上
五、实验过程、按照设计的步骤实现1遇到的问题:只显示到Text6!解决方法删除的方法下循环语句中的因为ReadThread runwhile count++,线程和线程不同步ReadThread ComputeThread
2、用setValue方法显示进度条,setText方法显示结果
六、实验结果送多线程多线程实验+1!+2!+3!+4!+5!+6!+7!+8!+9!+10!+11!+12!计算结果+13!+14!+15!+16!+17!+18!+19!+20!+21!+22!+23!+24!+25!+26!+27!+28!+2计算进程
2.2E32读取进程开始9!+30!讨论与分析进行全面的测试并分析测试结果;新建------Thread.State.NEW当一个Thread类或者其子类的对象被声明并创建时,新的线程对象处于新建状态,此时它已经有了相应的内存空间和其他资源方法尚未被start调整用就绪可执行状态——处于新建状态的线程被启动后,将进入Thread.State.RUNNABLE线程队列排队,这个时候具备了运行的条件,一旦轮到的时候,就可以脱离创建它的主CPU线程独立开始自己的生命周期运行就绪的线程被调度进入运行状态,每一个类及其子Thread类的对象都有一个重要的方法,当线程对象被调度执行的时候,它将自动调用本对象的run nm方法,从第一句代码开始执行简要说明你在该实验中的收获与体会⑴首先程序是建立在线程之上的.java⑵创建线程必须继承它已经为线程的创建和运行做了必要的配置是线程就重Thread classrun要的方法你必须覆写这个方法达到你想要的目的方法所包含的代码就是和其他线程同时运行的代码以达到同一时刻运行多段代码的目的3run当终止了以后这个线程也就结束了调用线程的方法才会执行方法run startrun体会通过实验设计了正确的显示运行结果和计算进程的图形用户界面;完成了对分别采用类Thread的子类和接口两种方式完成两个线程的设计;并且进行全面的测试并分析测试结果;Runable对的学习有了很大的提升作用Java附录代码阶乘运算forn=1;n=30;n++〃进行阶乘save=save*n;二;〃进行阶乘和运算sum sum+savestr=++n+!;;〃字符串相加strl=strl+strtry〃随机生成Thread.sleep500+int Math.random*500;秒05〜1catch InterruptedExceptionex{显示结果和进度条while true{显示阶乘字符f.text.setTextct.str1;//显示进度条f.jd.setValuect.n;//String s=String.valueOfct.sum;显示结果f.textl.setTexts;//try休眠毫秒Thread.sleep100;//100catch InterruptedExceptionex{}单击开始按钮void jButtonl_actionPerformedActionEvent e{ComputeThread ct=new ComputeThread;ReadThread rt=new ReadThreadct,this;继承类则//ct.start;Thread//rt.start;;〃接口new Threadct.start Runnablezenew Threadrt.start;。