篇一 :多线程实验报告

宁波工程学院电信学院计算机教研室

实验报告

课程名称: Java 2 姓 名: *** 实验项目: 多线程实验 学 号: **** 指导教师: **** 班 级: **** 实验位置: 电信楼机房 日 期:

一、实验目的

1、掌握多线程编程的特点和工作原理;

2、掌握编写线程程序的方法

3、了解线程的调度和执行过程

4、掌握线程同步机理

二、实验环境

windows记事本,java jdk 1.60版本,cmd命令运行窗口

三、实验内容

实验一:

应用Java中线程的概念写一个Java程序(包括一个测试线程程序类TestThread,一个Thread类的子类PrintThread)。在测试程序中用子类PrintThread创建2个线程,使得其中一个线程运行时打印10次“线程1正在运行”,另一个线程运行时打印5次“线程2正在运行

源程序:

public class A

{

public static void main(String args[])

{

Test1 A1;

Test2 A2;

A1=new Test1();

A2=new Test2();

A1.start();

A2.start();

}

}

class PrintThread extends Thread

{

}

class Test1 extends PrintThread

{

public void run()

{

for(int i=1;i<=10;i++)

…… …… 余下全文

篇二 :java多线程实验报告及代码


一、实验内容

题目一

练习教材第325页-327页的7-1、7-2、7-3三个实验题,分析结果,并总结输出结果与分析结果的异同;

题目二

编写程序实现阶乘和的运算:一个线程进行阶乘和的运算,而另一个线程则每隔一段时间读取上一个线程的运算结果。

设计一个窗体,以进度条的形式显示计算线程的执行进程。

详细说明界面设计过程,并分析程序的执行结果;

二、实验过程

1、将7-1、7-2、7-3的源代码写入,分析输出结果并总结输出结果与分析结果的异同;

2、一个线程进行阶乘和的运算(1!+2!+3!+……+100!),每次计算时间随机间隔1-10毫秒;另一个线程每隔10毫秒时间读取并显示上个线程的运算结果和计算进程。

三、实验结果

实验结果部分截图:

四、讨论与分析

题目一:

7-1

此程序共有两个线程,一个主线程,一个用户线程,主线程执行5次,而用户线程执行10次;

7-2

1、Timer t = new Timer(true);一个计时器,Timer()后的参数代表是不是一个首部线程,若true:这个计时器是守护线程,这个计时器在main方法中被调用,那么也应该是主线程,所以这个计时器停止时,整个程序也就停止了;即对此程序而言只执行十二次(由t.schedule()决定);若为false,则主线程与计时器独立。

7-3

1、runners 是一个SelfishRunner类型的数组,这个数组里有两个元素;循环执行

题目二:

能实现一个线程进行阶乘和的运算(1!+2!+3!+……+100!),每次计算时间随机间隔1-10毫秒;另一个线程每隔10毫秒时间读取并显示上个线程的运算结果和计算进程。

但是在界面上显示结果时遇到问题,并且不知道问题出在哪里。

五、附录:关键代码

一个线程进行阶乘和的运算(1!+2!+3!+……+100!),每次计算时间随机间隔1-10毫秒;另一个线程每隔10毫秒时间读取并显示上个线程的运算结果和计算进程。

…… …… 余下全文

篇三 :java多线程实验报告

计算机科学与技术学院实验报告(电子版)

课程:  Java程序设计    

…… …… 余下全文

篇四 :Java多线程实验报告

实验4:Java多线程

实验时间: 实验地点:

一、实验目的及要求

(1)了解线程的概念。

(2)学习简单的多线程编程。

二、实验设备环境及要求

三、实验任务

(1)阅读给定的Java Application程序,按要求回答问题并写出运行结果。

(2)按要求编写一个Java Application程序,并编译、运行这个程序。

四、实验内容与步骤

1.输入下面的Java Application程序,运行该程序,并简要分析程序的运行结果。 1: class SimpleThread extends Thread {

2: public SimpleThread(String str) {

3: super(str); //调用其父类的构造方法

4:

5:

6:

7:

8:

9:

10:

11:

12:

13:

14:

15:

16:

17:

18:} } public void run() { //重写run方法 for (int i = 0; i < 10; i++) { System.out.println(i + " " + getName()); //打印次数和线程的名字 try { sleep((int)(Math.random() * 1000)); //线程睡眠,把控制权交出去 } catch (InterruptedException e) { } } System.out.println("DONE! " + getName()); //线程执行结束 }

1: public class TwoThreadsTest {

2: public static void main (String args[]) {

3: new SimpleThread("First").start();

…… …… 余下全文

篇五 :实验报告五 多线程

《面向对象程序设计》实验报告

实验序号:5                            日期:    20## 年  6  月  3  日

…… …… 余下全文

篇六 :多线程实验报告

面向对象程序设计A(Java)

实验报告

实验名称:_________多线程______________

实验类型:_______设计型实验__________

指导教师:_________刘   涌_____________

专业班级:________软件1103____________

姓    名:__________周  毅____________

学    号:_________20111752___________

实验地点:__________东六E301___________

实验成绩:____________________________

            

            日期:   20##年  5 月  3 日

实验3   多线程

一、实验目的

    练习多线程类的两种实现方法,理解多线程程序的生命周期。

二、实验内容

    编写一多线程程序,实现如下功能:

(1)一个线程进行阶乘和的运算(1!+2!+3!+……+30!),每次阶乘计算时间随机间隔0.5-1秒;

(2)另一个线程每隔0.1秒时间读取上个线程的运算结果和计算进程,并在图形界面中实时显示结果。

三、实验设计

    设计一个到30阶乘和的多线程应用软体,设计算法以及设计代码结构。

…… …… 余下全文

篇七 :java多线程实验报告

Java实验程序设计实验报告

实验名称:多线程

一:实验目的

1、掌握线程和多线程的概念。

2、掌握创建线程的两种方法及其区别。

3、了解线程的启动、终止、同步、互斥和优先级等概念。

二:实验内容

1、编写一个程序,其功能是运行之后,其中有一个线程可以输出20次你的学号,另一个线程会输出20次你的姓名。

2、编写一个图形界面程序,运行之后,让其中有一个线程能在界面上“实时”显示系统当前时间(精确到秒获取时间可查询java.util.Calendar类,它包含了多个用于获得系统时间的函数)。另让一个线程可以在界面上提示当前系统时间下用户该做什么工作(例如当程序判断出系统时间现在是8:00到9:00,则提示用户该上课;现在是23:00到8:00,则提示用户该休息。 具体测试时可以将时间段限制到秒级,以便及时查看到程序运行中提示信息的变化)。 三:实验设计

四:实验测试及运行结果

实验一;20次输出姓名,学号实验二:一个界面的左边显示当时时间,显示的时间会随时间的改变而改变,右边显示某个时间段该干什么,比如该睡觉,该上课,该自习。

五:问题与总结

通过这次实验学会了怎么使用多线程。

六:附录

package shiyan6_1;

class MyThread implements Runnable {

public MyThread() {

} // 构造函数的代码,根据需要来写 public void run() { } for (int i = 1; i <= 20; i++) { } System.out.println("第" + i + "次执行线程" + Thread.currentThread().getName()); try { Thread.currentThread().sleep(500);// 睡眠500ms } catch (InterruptedException e) { } public static void main(String args[]) { Thread t1 = new Thread(new MyThread(), "学号"); // 创建线程1的对象,并

…… …… 余下全文

篇八 :JAVA多线程的实验报告-

深 圳 大 学 实 验 报 告

课程名称:­             Java程序设计                       

实验项目名称              线程                           

              

学院                 计算机与软件学院                   

…… …… 余下全文