62,621
社区成员
发帖
与我相关
我的任务
分享
class Response implements Runnabek{
IputStream is;
byte[] cache = new byte[1024];
public void run(){
while(true){
int len = is.read(cache);
// handle(cache, 0, len);
}
}
}
我想问下 这个地方的Runnabek接口类 实现的方法是安全线程吗 意思就是说我不希望在同一时间存在2个response的线程..._____________ ______________ _____________
| | | | request | |
| | to do | | <------ | |
| 处理 | <------ | 连接 | wait | 客户 |
| 线程 | | 线程 | ------> | 请求 |
| | | | i'm | |
|___________| |____________| doing |____________|
|_____________________________________________Y
response:result
上面的排版有点问题,这样看起来应该会好点
class Request implements Runnabek{
OutputStream os;
Queue<byte[]> queue;//用concurrent下面的类
public void run(){
while(true){
// os().send(queue.pop());
}
}
public synchronized void send(byte[] bs){
queue.offer(bs);
}
}
class Response implements Runnabek{
IputStream is;
byte[] cache = new byte[1024];
public void run(){
while(true){
int len = is.read(cache);
// handle(cache, 0, len);
}
}
}
new Thread(new Request(socket.getOutputStream())).start();
new Thread(new Response(socket.getInputStream())).start();
