资源简介
实现一个数据单元,包括学号和姓名两部分。编写两个线程,一个线程往数据单元中写,另一个线程往出读。要求每写一次就往出读一次。
代码片段和文件信息
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的人脸识别程序
相关资源
- vc定时器和多线程的简单应用
- 面向对象与多线程综合实验报告
- 易语言多线程获取网络时间源码
- 基于多线程和SOCKET聊天室V05
- 使用多线程技术,模拟通过四个窗口
- 关于QT多线程子线程使用信号和槽
- linux上实现多进程和多线程实现同步互
- 理发师问题的实现
- Qt界面多线程opencv调用摄像头
- 智慧大棚QT界面设计
- 多线程获取kinect2.0 视频并保存身体点
- Socket和多线程的聊天室
- 基于Linux的消息队列及多线程编程实现
- 一个简单的基于TCP的多线程聊天程序
- GTK多线程聊天工具
- delphi写的自动升级演示 多线程+http服
- dpdk的多线程抓包使用方式
- 京东多线程版易语言源码
- linux C 多线程编程典型
- Qt 多线程及简单 demo
- delphi7 多线程测试40个线程
- 多线程http服务器实现流程图
- 支持多线程断点续传的文件传输(F
- linux多线程程序实验,用不同线程完成
- 多线程实验 操作系统
- linux多线程+UDP网络通信总结+程序
- 三缓冲区 多线程处理抓包
- Qt线程间通信,线程控制界面显示
- pthread+多线程编程技术.pdf
- Qt多线程教程.rar
评论
共有 条评论