1 / 3
文档名称:

实验八:Java多线程.doc

格式:doc   页数:3页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

实验八:Java多线程.doc

上传人:ffy51856fy 2015/6/5 文件大小:0 KB

下载得到文件列表

实验八:Java多线程.doc

文档介绍

文档介绍:实验八 Java多线程
一、实验目的
掌握线程与进程的概念、区别与联系
掌握多线程的内涵与使用场景
掌握线程的状态与生命周期
掌握Java实现多线程的两种方式
掌握临界区、对象锁、互斥、同步等核心概念
掌握线程的互斥与同步
了解线程的死锁
二、实验环境
+
三、实验准备
1)复****课件中理论知识
2)练****课堂所讲的例子
四、实验内容
选择两个城市作为预选旅游目标,实现两个独立的线程分别显示10次城市名,每次显示后休眠一段随机时间(1000毫秒以内),哪个先显示完毕,就决定去哪个城市。
五、实验过程及结果
实验调试结果如下图
六、实验感想
本次实验了解线程与进程的概念、区别与联系,掌握了多线程的内涵与使用场景,掌握了线程的状态与生命周期,掌握了Java实现多线程的两种方式,理解了临界区、对象锁、互斥、同步等核心概念,理解了线程的互斥与同步,了解了线程的死锁等。
七、附录
实验源码:
主线程代码:
package zsl;
public class MainThread {

public static void main(String[] args){
String[] citys = {"合肥","淮南"};
ThreadCity1 thread1 = new ThreadCity1(citys);
ThreadCity2 thread2 = new ThreadCity2(citys);
();
();
while(()==true ||()==true){
try{
(1000);
}catch (InterruptedException e){
();
}
}
if(()<()){
("决定去:"+citys[0]);
}
else{
("决定去:"+citys[1]);
}
}
}
子线程1代码:
package zsl;
public class ThreadCity1 extends Thread {
private String[] citys;
private long time;
long getTime(){
return time;
}
public ThreadCity1(String[] citys){
=citys;
}
public void run(){
long start = ();
for(int i=0;i<10;i++){
try{

( "Thread1:"+citys[0]);
((int)(()*1000));
}
c