为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > java多线程实验报告

java多线程实验报告

2018-12-19 6页 doc 19KB 82阅读

用户头像

is_083599

暂无简介

举报
java多线程实验报告java多线程实验报告 java多线程实验报告 计算机科学与技术学院实验报告(电子版) 课程: Java程序设计 篇二:java多线程实验报告及代码 一、实验内容 题目一 练习教材第325页-327页的7-1、7-2、7-3三个实验题,分析结果,并总结输出结果与分析结果的异同; 题目二 编写程序实现阶乘和的运算:一个线程进行阶乘和的运算,而另一个线程则每隔一段时间读取上一个线程的运算结果。 设计一个窗体,以进度条的形式显示计算线程的执行进程。 详细说明界面设计过程,并分析程序的执行结果; 二、实验过程 ...
java多线程实验报告
java多线程 java多线程实验报告 计算机科学与技术学院实验报告(电子版) 课程: Java程序设计 篇二: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毫秒时间读取 并显示上个线程的运算结果和计算进程。 package jiecheng; public class jiec { public static void main(String[] args) { MyThread mt = new MyThread(); new Thread(mt).start(); while (mt.i = 100) { try { Thread.sleep(10); } catch (InterruptedException ex) { } System.out.println(mt.sum); } } } class MyThread implements Runnable { double sum = 0; int i; public void run() { double factorial = 1; for (i = 1; i = 100; i++) { factorial *= i; sum += factorial; int b = (int) (Math.random() * 10); try { Thread.sleep(b); } catch (InterruptedException ex) { } } } } 篇三: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(); 4: //第一个线程的名字为First 5: new SimpleThread(Second).start(); 6: //第二个线程的名字为Second 7: 8: } } 2(编写程序,将上面多线程程序用Runnable接口来实现。 class SimpleThread implements Runnable{ public void run(){ for (int i = 0; i 10; i++){ System.out.println(i + + Thread.currentThread().getName()); try { Thread.sleep((int)(Math.random() * 1000)); //线程睡眠,把控制权交出去 } catch (InterruptedException e) { } } System.out.println(DONE! + Thread.currentThread().getName());//线程执行结束 } } public class Test { public static void main (String args[]) { /*Thread t1=new Thread(First); //第一个线程的名字为First Thread t2=new Thread(Second); //第二个线程的名字为Second t1.start(); t2.start();*/ new Thread(new SimpleThread(),First).start(); new Thread(new SimpleThread(),Second).start() } }
/
本文档为【java多线程实验报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索