📄 sender.java
字号:
package serverInf;
import java.io.DataOutputStream;
import java.io.IOException;
public class Sender extends Thread {
private DataOutputStream os;
private Serializable message;
private boolean ready=false;
public boolean isReady() {
return ready;
}
public Sender(DataOutputStream os) {
ready=false;
this.os = os;
start();
}
public synchronized void send(Serializable msg) {
if(msg==null)System.out.println("sender's msg is null");
System.out.println(msg.toString());
System.out.flush();
message = msg;
notify();
}
public void close(){
try {
os.close();
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println(""+e);
}
}
public synchronized void run() {
ready=true;
while (true) {
try {
wait();
} catch (InterruptedException e) {
}
if (message == null) {
System.out.println("send's msg is null");
break;
}
try {
message.serialize(os);
} catch (Exception e) {
System.out.println("error happen in sender's run(): " + e);
break;
}
message = null;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -