免费下载

多线程Java_Socket编程示例.doc


文档分类:IT计算机 | 页数:约19页 举报非法文档有奖
1/ 19
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/ 19 免费下载
文档列表 文档介绍
多线程Java Socket编程示例
这篇做为学习孙卫琴<<Java网络编程精解>> 5的ExecutorService来进行线程池的方式实现多线程,模拟客户端多用户向同一服务器端发送请求.

package sterning;
import ;
import ;
import ;
import ;
import ;
import ;
import .*;
import .*;
public class MultiThreadServer {
    private int port=8821;
    private ServerSocket serverSocket;
    private ExecutorService executorService;//线程池
    private final int POOL_SIZE=10;//单个CPU线程池大小
    
    public MultiThreadServer() throws IOException{
        serverSocket=new ServerSocket(port);
        //Runtime的availableProcessor()方法返回当前系统的CPU数目.
        executorService=(().availableProcessors()*POOL_SIZE);
        ("服务器启动");
    }
    
    public void service(){
        while(true){
            Socket socket=null;
            try {
                //接收客户连接,只要客户进行了连接,ept();从而建立连接
                socket=();
                (new Handler(socket));
                
            } catch (Exception e) {
                ();
            }
        }
    }
    
    public static void main(String[] args) throws IOException {
        new MultiThreadServer().service();
    }
}
class Handler implements Runnable{
    private Socket socket;
    public Handler(Socket socket){
        =socket;
    }
    private PrintWriter getWriter(Socket socket) throws IOException{
        OutputStream socketOut=();
        return new PrintWriter(socketOut,true
);
    }
    private BufferedReader getReader(Socket socket) throws IOException{
        InputStream socketIn=();
        return new BufferedReader(new InputStreamReader(socketIn));
    }
    public String echo(String msg){
        return "echo:"+msg;
    }
 

多线程Java_Socket编程示例 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数 19
  • 收藏数 0 收藏
  • 顶次数 0
  • 上传人 陈晓翠
  • 文件大小 0 KB
  • 时间2011-11-06
最近更新