《多线程实验报告》由会员分享,可在线阅读,更多相关《多线程实验报告(5页珍藏版)》请在金锄头文库上搜索。
1、面向对象程序设计 A(Java)实验报告实验名称:多线程实验类型:设计型实验指导教师:刘 涌专业班级:软件 1103姓 名: 周 毅学 号: 20111752实验地点:东六 E301实验成绩:日期: 2013 年 5 月 3 日实验 3 多线程一、实验目的练习多线程类的两种实现方法,理解多线程程序的生命周期。二、实验内容编写一多线程程序,实现如下功能:(1) 一个线程进行阶乘和的运算(1! +2! +3! +30!),每次阶乘计算时间随机间隔 0.5-1 秒;(2) 另一个线程每隔 0.1 秒时间读取上个线程的运算结果和计算进程,并在图形界面中实 时显示结果。三、实验设计设计一个到30阶乘和的
2、多线程应用软体,设计算法以及设计代码结构。四、实验过程首先通过建立一个application类来设计应用软体的界面。界面设计好之后,在相应的按 键处设计事件。建立 ComputeThread 和 ReadThread 类,它们是 extends Thread 下的类。用来 实现多线程的功能的。在自动按键的事件里调用 start 方法。再在上述两个类中编写相应的 代码实现相应的功能。ComputeThread主要编写运算的代码,ReadThread主要编写显示的代 码。然后通过 while 循环让进度条走起来。五、实验结果六、讨论与分析对多线程有了进一步的了解以及加深自己对JAVA语言的了解。七
3、、附录:关键代码(给出适当注释,可读性高)package untitled1;class ReadThread extends ThreadFrame1 f;ComputeThread ct;ReadThread(Frame1 f , ComputeThread ct)this.f = f;this.ct = ct;public void run()while(ct.n=30)f.jTextField4.setText(String.valueOf(ct.orderSum);f.jProgressBar1.setValue(ct.n);f.jTextField3.setText(ct.equ)
4、;if(ct.n=10)ct.equ=.10!;else if(ct.n=16)ct.equ=.16!;else if(ct.n=22)ct.equ=.22!;else if(ct.n=28)ct.equ=.28!;try sleep(100);catch (InterruptedException ex) package untitled1;class ComputeThread extends Threadint n =1;long orderSum = 0;String equ = 0!;public void run() long order = 1;while (n = 30) 阶乘和计算order *= n;orderSum += order;equ += + + n + !;try sleep( (int) (Math.random() * 500 + 500);catch (InterruptedException ex) n+;注:每个部分根据情况可以再分子标题,前提是层次清晰、逻辑性强。