- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
桂 林 电 子 科 技 大 学
《Java应用开发》 实 验 报 告
指导教师意见:
成绩 实验名称 多线程
计算机科学与工程学院计算机科学与技术专 业
班 第 实 验 小 组
姓 名 学 号
实 验 日 期 2015 年 11 月 14 日
实验六 多线程
实验目的
1、掌握线程和多线程的概念。
2、掌握创建线程的两种方法及其区别。
3、了解线程的启动、终止、同步、互斥和优先级等概念。
实验内容
1、编写一个程序,其功能是运行之后,其中有一个线程可以输出20次你的学号,另一个线程会输出20次你的姓名。
2、编写一个图形界面程序,运行之后,让其中有一个线程能在界面上“实时”显示系统当前时间(精确到秒获取时间可查询java.util.Calendar类,它包含了多个用于获得系统时间的函数)。另让一个线程可以在界面上提示当前系统时间下用户该做什么工作(例如当程序判断出系统时间现在是8:00到9:00,则提示用户该上课;现在是23:00到8:00,则提示用户该休息。 具体测试时可以将时间段限制到秒级,以便及时查看到程序运行中提示信息的变化)。
分析与设计
1. Thread t1 = new Thread(new Number(), 学号:); // 创建线程1的对象,并通过第二个参数将其命名为学号
Thread t2 = new Thread(new Name(), 姓名:); // 创建线程2的对象,并通过第二个参数将其命名为姓名
下代码来实现第一个第二个输出名字的线程代码类似。class Number implements Runnable
{
public void run() {
for (int i = 1; i = 20; i++) {
System.out.println(第 + i + 次执行线程:
+ Thread.currentThread().getName() + 1300310327);
s6_1.j1.append(第 + i + 次执行线程\n
+ Thread.currentThread().getName() + 1300310327\n);
Thread.yield(); // 暂停当前正在执行的线程对象,并执行其他线程
}
}
}
2. 一下代码或得系统时间
int y,m,d,h,mi,s;
Calendar cal=Calendar.getInstance();
y=cal.get(Calendar.YEAR);
m=cal.get(Calendar.MONTH)+1;
d=cal.get(Calendar.DATE);
h=cal.get(Calendar.HOUR_OF_DAY);
mi=cal.get(Calendar.MINUTE);
s=cal.get(Calendar.SECOND);
if else语句来输出当前时间和
多线程的运行结果:
显示时间和事件:
事件会随着时间的变化实时的显示在第二个线程哪里
问题与总结
创建线程有两种方法,一是声明一个类的同时实现Runnable接口,这个类必须实现一个没有参数的run方法,run方法中的代码即线程所要做的事情。
一般操作系统中的多线程指的是在操作系统中同时运行几个应用程序,每个应用程序占用一个进程。实际上这些程序在单处理器的系统中并不是同时运行,而是操作系统将系统资源分配给各个程序,每个程序在CPU中交替执行,由于CPU的速度比较快,我们就感觉不出各程序是交替执行,而感觉多个程序是同时运行的。
for(int i=0;;i++)
Calendar cal=Calendar.getInstance(); // 获得当前时间
int s=cal.get(Calendar.SECOND);
if else 当前时间应该执行什么事件
附录
package sy6;
import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JTextArea;
public class s6_1 extends JFrame
{
JFrame jf = new JFrame(学号姓名);
static JTextArea j1, j2;
Thread t1 = new Thr
您可能关注的文档
- 新生儿困难复苏后多脏器损害解读.ppt
- 泵送混凝土技术解读.ppt
- 新生辅导生述职报告解读.pptx
- 比较优势及绝对优势对我国外贸的指导意义解读.ppt
- 新时达调试文件解读.doc
- 实验UML知识回顾回顾解读.doc
- 新视野大学英语第三版词汇汇总总解读.docx
- 中国红枣交易中心设计方案详解.pptx
- 人人为我_我为人人详解.ppt
- 新闻类语段压缩解读.ppt
- 2024-2030年中国全自动蛋白印迹仪行业前景动态与未来趋势预测报告.docx
- 2024-2030年中国全身感染治疗行业市场发展趋势与前景展望战略分析报告.docx
- 2024-2030年中国六氯乙硅烷行业市场发展趋势与前景展望战略分析报告.docx
- 2024-2030年中国全釉瓷砖行业市场发展趋势与前景展望战略分析报告.docx
- 2024-2030年中国光电池行业市场发展趋势与前景展望战略分析报告.docx
- 2024-2030年中国光纤适配器行业运营态势与前景动态预测报告.docx
- 2024-2030年中国光纤加速度计(FOA)行业前景动态与投资盈利预测报告.docx
- 2024-2030年中国光敏高分子材料市场现状调查与未来发展趋势研究研究报告.docx
- 2024-2030年中国保健品行业发展分析及投资风险预测分析报告.docx
- 2024-2030年中国全装修营销态势与投资盈利预测报告.docx
文档评论(0)