📄 myvector.java
字号:
import java.util.*;
import java.io.*;
class Message
{
String from;
String message;
public Message(String from,String message)
{
this.from=from;
this.message=message;
}
}
class MyVector extends Vector
{
BufferedReader standardInput;
static int counter;
int instanceCounter;
public MyVector()
{
super(1,1);
standardInput=new BufferedReader(new InputStreamReader(System.in));
}
synchronized void put()
{
System.out.println("Please enter your name and message");
String from=standardInput.readLine();
String message=standardInput.readLine();
Message msg=new Message(from,message);
addElement((Message)msg);
counter++;
notify();
}
synchronized void get()
{
while(instanceCounter>=counter)
{
try
{
wait();
}
catch(InterruptedException e)
{
System.out.println("Thread intrrupted"+e);
}
}
Message msg=(Message)elementAt(counter-1);
System.out.println(msg.from+":"+msg.message);
instanceCounter++;
notify();
}
}
class MyThread1 implements Runnable
{
MyVector myVector;
public MyThread1(MyVector myVector)
{
this.myVector=myVector;
new Thread(this).start();
}
public void run()
{
while(true)
{
myVector.put();
}
}
public static void main(String args[])
{
MyVector myVector=new MyVector();
new MyThread1(myVector);
}
}
class MyThread2 implements Runnable
{
MyVector myVector;
public MyThread2(MyVector myVector)
{
this.myVector=myVector;
new Thread(this).start();
}
public void run()
{
while(true)
{
myVector.get();
}
}
public static void main(String args[])
{
MyVector myVector=new MyVector();
new MyThread2(myVector);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -