您现在的位置:首页 >> java多线程 >> java多线程实例,java多线程面试题,java多线程并发实例,(多线程)姜齐Java实验报告

java多线程实例,java多线程面试题,java多线程并发实例,(多线程)姜齐Java实验报告

时间:2013-08-04 来源: 泥巴往事网

信 息 工 程 学 院1 Java 程序设计 实习报告 多线程异常处理 1.实验目的 (1) 掌握 Java 的异常处理机制及相关实现方法能够在程序设计中熟练运用异常及相 关类及对象; (2) 掌...

西 安 邮 电 大 学 (计算机学院) 课内实验报告 实验名称:

多 线 程 专业名称:

班 级: 网 络 工 程 网络 1201 姜 齐 04122026 张荣 2014 年 5 月 29 日 -2014 年 5 月 29 日 学生姓名:

学号(8 位) :

指导教师:

实验日期: 一. 实验目的及实验环境 1、目的:熟悉一般异常处理机制、掌握简单的异常处理 2、环境:eclipse 二. 实验内容 编程实现隧道通车问题。内容如下:有一条隧道,同时允许一辆车通行,隧 道两端各有多辆车等待通过, 车辆只能等到隧道处于空闲状态才能被运行进入隧 道,一旦隧道中已有车辆,则禁止其他车辆进入。

三.方案设计 class Suidao { private int mark;//临界资源的使用情况用 mark 标记,1 为占用,0 为空闲 public synchronized void release() { try { while(mark==0) this.wait();

} catch(Exception e) { e.toString();

} mark=0;//释放资源 this.notify();

} public synchronized void use() { try { while(mark== 1) this.wait();

} catch(Exception e) { e.toString();

} mark=1;//资源占用(封锁) this.notify();

} } class LeftTrain extends Thread { Suidao suidao;

public LeftTrain(Suidao suidao) { this.suidao=suidao; } public void run()//从线程:运行状态 { for(int i=1;

i <=4;

i++)//左侧 4 辆货车等待 { suidao.use();//通过时占用资源,调用 use 将 smart 变为 1,封锁通道 System.out.println("the "

+ i + "th train on the LEFT is coming------------\n");

suidao.release();//火车已通过,释放资源 try { Thread.sleep((int) (Math.random() * 100));

} catch(Exception e) {} } } } class RightTrain extends Thread { Suidao suidao;

public RightTrain(Suidao suidao) { this.suidao=suidao;

} public void run()//从线程:运行状态 { for(int i=1;

i <=5;

i++)//右侧有 5 辆火车等待 { suidao.use();//火车通过,占用资源 System.out.println("the "

+ i + "th train on the RIGHT is coming------------\n");

suidao.release();

try { Thread.sleep((int) (Math.random() * 300));

} catch(Exception e) {} } } } public class Train { public static void main(String[] args) { Suidao suidao=new Suidao();//共享资源 LeftTrain left=new LeftTrain(suidao);//进程 1 定义 Thread you=new Thread(new RightTrain(suidao));//定义进程 2 并创建 Thread zuo=new Thread(left);//进程 1 创建 zuo.start();//进程 1 启动 you.start();

} } 四.测试数据及运行结果 五.总结 1.实验过程中遇到的问题及解决办法 创建进程需要通过实现 Runnable 接口来创建,因此进程定义需要实现 Runnable 接口,或者继承实现了该接口的类 Thread 来完成。当资源被占用时, 输入一句话。模拟火车正在通过,通过之后将资源释放。

2.对设计及调试过程的心得体会 通过本次试验, 我对 Java 的同步机制 synchronized 和临界资源加锁解锁有了 更深的理解,也掌握了线程互斥的实现方法。

(多线程)姜齐Java实验报告 (多线程)姜齐Java实验报告 暂无评价 | 0人阅读 | 0次下载 | 举报文档 西?安?邮?电?大?学?J?a?v?a?实?验?报?告?(?张?荣?) 您的评...

南京理工大学泰州科技学院 实验报告书 课程名称: 《Java 面向对象程序设计》 实验题目: 实验八 多线程的应用 班 学 姓 级: 号: 名: 09 计算机(2) 0909030218 尤源 李 丛 ...

实验二:java 程序设计 一、实验目的与要求 1、了解Java 的数据类型; 2、掌握各种变量的声明方式; 3、理解运算符的优先级; 4、掌握Java 基本数据类型、运算符与表达式、数...

 
  • 泥巴往事网(www.nbwtv.com) © 2014 版权所有 All Rights Reserved.