iothread.java
来自「面向对象的设计思想」· Java 代码 · 共 46 行
JAVA
46 行
import java.io.*;
import java.net.*;
class IoThread extends Thread {
private Socket skt = null;
private IoStrategy ioServer;
private int ioThreadId;
private static int ioThreadCounter = 1;
public IoThread(IoStrategy ioServer) {
this.ioServer = ioServer;
ioThreadId=ioThreadCounter++;
}
public boolean isIdle() {
return skt == null;
}
public synchronized void setSocket(Socket s) {
if (skt == null) {
//** 3 Initialize skt
skt=s;
//** 4 Make the thread stop waiting
notify();
}
// else -- log error
}
public synchronized void run() {
while (true) {
try {
wait();
ioServer.ioService(skt);
skt = null;
} catch(Exception e) {
e.printStackTrace();
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?