java多线程实验报告
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字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [教学研究]2012西拉科学校团少队工作总结
- [教学研究]建筑工程公司档案管理制度
- [教学研究]小学数学人教版六年级上册圆的周长和面
- [教学研究]ERP电子行业解决方案
- [教学研究]钢支撑租赁合同范本
- [教学研究]预应力自动张拉系统用户手册Rev1.0
- [教学研究]MOOC课程:金瓶梅人物写真(每章节课后
- [教学研究]追加被执行人申请书(适用追加夫妻关系)
- [教学研究]2014年驾考科目一考试最新题库766
- [教学研究]2013-2014学年度九年级物理第15章《电
- [教学研究]新版中日交流标准日本语初级下26课-客
- [教学研究]小导管注浆施工作业指导书
- [教学研究]一般财务人员能力及人岗匹配评估表
- [教学研究]打1.2.页 小学一年级暑假口算100以内加
- [教学研究]学习贯彻《中国共产党党和国家机关基层
- [教学研究]2012年呼和浩特市中考试卷_35412
- [教学研究]最简易的电线电缆购销合同范本
- [教学研究]如何开展安全标准化建设
- [教学研究]工作分析与人岗匹配
- [教学研究]2016-2017学年高中历史第七单元现代中
- 山东省义务教育必修地方课程小学三年级
- 台湾宜兰大学互联网交换技术课程 01_In
- 思想品德:第一课《我知我家》课件(人
- SAR合成孔径雷达图像点目标仿真报告(附
- 利辛县“十三五”规划研究报告
- 2015-2020年中国手机APP行业市场发展趋
- 广告策略、创意表现、媒体方案
- 企业如何申请专利的的几点思考
- 《中国教育简史》网上作业
- 高中历史第二单元西方人文精神的起源及
- 年终晚会必备_精彩的主持稿_精心整理_
- 信息工程专业自荐书
- 2019高考历史人教版一轮练习:第十二单
- JAVA俱乐部管理系统软件需求规格说明书
- 2016-2021年中国小型板料折弯机行业市
- (人教新课标)六上_比的基本性质课件PPT
- 辽宁省公务员考试网申论备考技巧:名言
- 神经阻滞麻醉知情同意书
- 施工企业信息填报、审核和发布的相关事
- 初一(七年级)英语完形填空100篇




