版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验七线程云南大学信息学院面向对象技术导论java程序设计大学教程实验【开发语言及实现平台或实验坏境】Windows2000或XP,JDK1.6与Jcreator4.0【实验目的】理解线程的基本概念、优先级、生命周期等。掌握线程的一般创建与使用方法(Thread类与Runnable接II)。了解线程间的通信、多线程的同步等编程机制。【实验要求】运行上课讲解的例子;完成卞列实验内容。【实验内容】一、读懂并执行下列程序,理解Java中的多线程机制。运行下面的程序,理解用创建Thread子类的方法实现多线程。classSimpleThreadextendsThreadpublicSimpleThre
2、ad(Stringstr)super(str);publicvoidrun()for(inti二0;i9x*u9orQ:cn:added:二u二二二二mumX:;axf1mgrXXXXX1二二二二hmm:LUMPtu:dada:cOun=两个线程并notif5();方法和synchronized关键词,实现线程的同步程序是通过使用java.lang.Object类的waitO方法为线程间的通讯提供了有效手段。可以调用notify或notifyAll方法来实现。(3)程序结果:ulnxuacUa.匸=二U0C1ZL2Gdl3uhxaacU=4PSuuoi0ZLm0tHre?acil6Dlnrea
3、c3a=7ehxund:!m0Czzceidi3GtHre:eidl1O-d-ix-ead*I理由:在实际的多线程编程中,会碰到多个线程对同一资源进行访问的情况,这时,就需要协调,这种协调机制实现线程的同步,而notifyO;语句就是唤醒一个等待的线程,本线程继续执行来实现线程的同步。synchronized(this);语句的作用是:首先判断对象的锁是否在,如果在就获得锁,然后就可以执行紧随其后的代码段;如果对象的锁不在(已被其他线程拿走),就进入等待状态,直到获得锁。如果去掉此语句,不能实现线程间的通信。理由:会碰到程序中两个线程对同一资源进行访问的情况,去掉此语句该线程无法获得锁,从而进
4、入等待状态,是程序出现异常。二、编写下列程序。模拟一个电子时钟,它可以在任何时候被启动或停止,并可独立运行。这个类称为Clock类,它继承Label类。Label类有一个Thread类型的clock域,以及start()、stopO和run()方法。在run()方法的while循环中,每隔1秒就把系统时间显示在label文本。构造方法初始化时,把lab设为系统的当前时间。importjavaxswing*;importjavaawt*;importjavaawtevent*;importjavautil*;importjava,text,*;publicclassMainextendsJFra
5、meClockclockl,clock2;publicMain()clockl=newClock();clock2=newClock();thisadd(clockl);thisadd(clock?);thissetBounds(100,100,400z400);thissetLayout(newFlowLayout();thissetVisible(true);addWindowListener(newWindowAdapter()publicvoidwindowclosing(WindowEvente)Systemexit(0););publicstaticvoidmain(Stringa
6、rgs)Mainf=newMain();RunnableclassClockextendsJPanelimplementsActionListenerzprivateJTextFieldabc=newJTextField(20);Threadt;privatebooleanpause=false;privateJButtona=newJButton(暂停”);privatelongtimel=System.ourrentTimeMillis();Clock()aaddActionListener(this);thisadd(abc);thisadd(a);t=newThread(this);tstart();publicvoidactionPerformed(ActionEvente)pause=Ipause;if(!pause)asetText(暂停”);elseasetText(nJFn);publicvoidrun()while(true)tryThread)sleep(1000);catch(Interrupted
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026服务业行业市场竞争态势全面分析以及未来发展趋势报告
- 2026晶圆级封装技术路线演变与成本效益评估报告
- 2026斐济旅游业经济贡献分析及深度旅游项目开发策略研究
- 2026教育行业虚拟桌面基础设施选型指南与成本效益研究
- 2026教育类电子竞技市场研究及课程开发与赛事运营分析报告
- 2026教育法律事务行业市场发展趋势与投资机会研究
- 2026教育大数据应用分析及教学优化与个性化服务研究报告
- 解构政商权力版图:差异剖析与协同发展策略
- 解构手机银行用户行为:洞察驱动与影响因素
- 2026放射性医疗设备监管政策变化与市场准入壁垒分析报告
- 普通外科胆囊炎课件
- 内蒙古地区历年中考作文题与审题指导(2002-2024)
- 华师大版数学七年级下册期末考试试卷附答案
- 高中生禁毒教育主题班会教学课件
- 2024年宁夏盐池县就业创业和人才服务局事业单位招聘历年(高频重点复习提升训练)共500题附带答案详解
- DL-T5160-2015电力工程岩土描述技术规程
- 矿山井架设计规范
- 《学前教育学》2022-2023期末试题及答案
- 中小学班主任工作手册(修订)
- 2023年甘肃省平凉市中考一模生物试题+
- 临汾市尧都区屯里镇社区工作者考试真题2022
评论
0/150
提交评论