资源简介
实现一个数据单元,包括学号和姓名两部分。编写两个线程,一个线程往数据单元中写,另一个线程往出读。要求每写一次就往出读一次。

代码片段和文件信息
import java.io.*;
class Student{
String id;
String name;
int number=0;
BufferedReader writer=new BufferedReader(new InputStreamReader(System.in));
boolean available=false;//是否有学生信息可写
public Student(){
this(“ ““ “);
}
public Student(String idString name){
this.id=id;
this.name=name;
}
public synchronized void write1Info(){
if(available)
try{
wait();
}
catch(Exception e){
}
System.out.println(“请输入第“+(++number)+“个学生的信息“);
System.out.print(“请输入学号:“);
try{
id=writer.readLine();
}
catch(Exception e){
System.out.println(“输入学号出错!“);
}
System.out.print(“请输入姓名:“);
try{
name=writer.readLine();
}
catch(Exception e)
{
System.out.println(“输入姓名出错“);
}
available=true;
notify();
}
public synchronized void readInfo(){
if(!available)
try{
wait();
}
catch(Exception e){
}
System.out.println(“读出第“+(number)+“个学生的信息“);
System.out.println(“学号: “+id+“ 姓名: “+name);
System.out.println();
available=false;
notify();
}
}
class Writer extends Thread{
Student s=null;
public Writer(Student s){
this.s=s;
}
public void run(){
while(true){
s.write1Info();
}
}
}
class Reader extends Thread{
Student s=null;
public Reader(Student s)
{
this.s=s;
}
public void run(){
while(true){
s.readInfo();
}
}
}
public class TestThread {
public static void main(String[] args) {
// TODO Auto-generated method stub
Student s=new Student();
new Writer(s).start();
new Reader(s).start();
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 397 2010-04-28 13:35 实验四\.project
文件 232 2010-04-28 13:35 实验四\.classpath
文件 1658 2010-05-04 19:33 实验四\src\TestThread.java
文件 536 2010-05-04 19:33 实验四\bin\TestThread.class
文件 438 2010-05-04 19:33 实验四\bin\Reader.class
文件 1964 2010-05-04 19:33 实验四\bin\Student.class
文件 440 2010-05-04 19:33 实验四\bin\Writer.class
目录 0 2010-05-08 22:59 实验四\src
目录 0 2010-05-08 22:59 实验四\bin
目录 0 2010-05-08 22:59 实验四
----------- --------- ---------- ----- ----
5665 10
- 上一篇:ADXL362例程
- 下一篇:基于Fisher的人脸识别程序
相关资源
- 编写简单的RMI程序 多线程web 服务器
- 多线程生产者消费者模式
- 多线程实例:桌面智能弹球小游戏
- WPF多线程演示
- 易语言:多线程传多变量的最稳定方
- 排队买票多线程问题
- 强大的完善的 活动抽奖系统适合各单
- 十字路口红绿灯交通情况模拟
- Qt 多线程连接数据库——数据库
- 易语言多线程端口扫描源码
- POSIX多线程程序设计中文版源码
- 易语言md5定向爆破源码
- 多线程扫描工具
- Delphi.High.Performance.Applications.Concurren
- Qt5的多线程小程序,实现按钮开关线
- 控制台串口通信程序
- POSIX多线程程序设计中文版pdf
- 使用多线程及图像分块实现图像处理
- 图像处理中使用多线程及图像分块实
- p2p文件共享系统 含代码和文档
- 武汉理工大学面向对象与多线程综合
- 多线程编程指南[中文完整翻译版] –
- QT多线程实现图片以缩略图形式显示
- qt利用线程实现多任务
- 基于socket的多线程QQ聊天系统(代码
- UDP socket 多线程
- linux多线程编程书籍
- 串口通信+多线程+数据错乱自动恢复
- VC五子棋源代码 想要的速度下哦 多线
- 多核多线程技术 (高清 带书签) (
评论
共有 条评论