教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 教学研究 >

java多线程实验报告

来源:网络收集 时间:2026-04-16
导读: java多线程实验报告 Java实验程序设计实验报告 实验名称:多线程 一:实验目的 1、掌握线程和多线程的概念。 2、掌握创建线程的两种方法及其区别。 3、了解线程的启动、终止、同步、互斥和优先级等概念。 二:实验内容 1、编写一个程序,其功能是运行之后,

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() {

java多线程实验报告

} // 构造函数的代码,根据需要来写 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的对象,并

// 通过第二个参数将其命名为thread 1 Thread t2 = new Thread(new MyThread(), "姓名"); // 创建线程2的对象,并

// 通过第二个参数将其命名为thread 2 t1.start(); // 启动两个线程运行

java多线程实验报告

t2.start(); // 虽然t2的启动表面上好像在后面,实际上两个线程的执行并无先后之分,

} }

实验二:

package shiyan6_2;

import java.awt.FlowLayout;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import javax.swing.JFrame;

import javax.swing.JTextArea;

public class MyThread {

public MyThread() // 构造函数,生成图形界面 JFrame jf = new JFrame("线程都往界面上显示内容的例子"); static JTextArea jta1, jta2; Thread trda = new thread1(); // 线程trda Thread trdb = new thread2(); // 线程trdb

java多线程实验报告

}

} // setBounds(100,100,500,200); jf.setLayout(new FlowLayout()); jta1 = new JTextArea(15, 30); jta2 = new JTextArea(15, 30); jf.add(jta1); jf.add(jta2); // 将2个组件添加到界面上 jf.setLocation(100, 150); jf.setVisible(true); jf.pack(); trda.start(); // 两个线程都启动 trdb.start(); public static void main(String args[]) { } MyThread frm = new MyThread();

class thread1 extends Thread // 线程类thread1

{

public void run() {

java多线程实验报告

while(true){ Calendar cal = Calendar.getInstance(); // 获取一个Calendar类的实例对象

y = cal.get(Calendar.YEAR); // 获取年份 m = cal.get(Calendar.MONTH)+1; // 获取月份,获取的月份是从0到11表示一到十二月

d = cal.get(Calendar.DATE); // 获取日期 h = cal.get(Calendar.HOUR_OF_DAY); // 获取小时 mi = cal.get(Calendar.MINUTE); // 获取分钟 s = cal.get(Calendar.SECOND); // 获取秒钟 String s1=Integer.toString(y); String s2=Integer.toString(m); String s3=Integer.toString(d); String s4=Integer.toString(h); String s5=Integer.toString(mi); String s6=Integer.toString(s); MyThread.jta1.setText(s1+"年"+s2+"月"+s3+"日"+s4+"时"+s5+"分"+s6+"秒");

} }}

java多线程实验报告

class thread2 extends Thread // 线程类thread2 {

public void run() { } Calendar cal = Calendar.getInstance(); int hour = cal.get(Calendar.HOUR_OF_DAY); // 获取小时 int minute = cal.get(Calendar.MINUTE); // 获取分钟 if (hour>23||hour<7){ MyThread.jta2.append(" 睡觉时间"); } else if(hour>7&&hour<17){ } else if(hour>17&&hour<23){ } MyThread.jta2.append(" 自习时间");} MyThread.jta2.append(" 上课时间");

…… 此处隐藏:1051字,全部文档内容请下载后查看。喜欢就下载吧 ……
java多线程实验报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/49891.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)