//Executor借口
public interface Executor{
void execute(Runnable command);
}
class TaskExecutionWebServer{
private static final int NTHREADS = 100;
private static final Executor exec = Executors.newFixedThreadPool(NTHREADS);
public void mian(String[] args) throws Exception{
ServerSocket socket = new ServerSocket(80);
while(true){
final Socket connection = socket.accept();
Runnable task = new Runnable(){
public void run(){
handleRequest(connection);
}
};
exec.execute(task);
}
}
}
//为每个请求启动一个新线程的Executor
public class ThreadPertaskExecutor implements Executor{
public void execute(Runnable r){
new Thread(r).start();
}
}
//调用线程中同步方式执行、
public class WithinThreadExecutor implements Executor{
public void execute(Runnable r){
r.run();
};
}
基于Executor的Web服务器
最新推荐文章于 2024-04-28 22:18:12 发布