- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《多线程Java_Socket编程示例》.doc
多线程Java Socket编程示例这篇做为学习孙卫琴Java网络编程精解的学习笔记吧.其中采用Java 5的ExecutorService来进行线程池的方式实现多线程,模拟客户端多用户向同一服务器端发送请求.1.服务端
package?sterning;import?java.io.BufferedReader;import?java.io.IOException;import?java.io.InputStream;import?java.io.InputStreamReader;import?java.io.OutputStream;import?java.io.PrintWriter;import?java.net.*;import?java.util.concurrent.*;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=Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors()*POOL_SIZE);????????System.out.println(服务器启动);????}????????public?void?service(){????????while(true){????????????Socket?socket=null;????????????try?{????????????????//接收客户连接,只要客户进行了连接,就会触发accept();从而建立连接????????????????socket=serverSocket.accept();????????????????executorService.execute(new?Handler(socket));????????????????????????????}?catch?(Exception?e)?{????????????????e.printStackTrace();????????????}????????}????}????????public?static?void?main(String[]?args)?throws?IOException?{????????new?MultiThreadServer().service();????}}class?Handler?implements?Runnable{????private?Socket?socket;????public?Handler(Socket?socket){????????this.socket=socket;????}????private?PrintWriter?getWriter(Socket?socket)?throws?IOException{????????OutputStream?socketOut=socket.getOutputStream();????????return?new?PrintWriter(socketOut,true);????}????private?BufferedReader?getReader(Socket?socket)?throws?IOException{????????InputStream?socketIn=socket.getInputStream();????????return?new?BufferedReader(new?InputStreamReader(socketIn));????}????public?String?echo(String?msg){????????return?echo:+msg;????}????public?void?run(){????????try?{????????????
您可能关注的文档
- 《人教新课标版高二选修8 Unit 1 A land of diversity-reading ppt课件1》.ppt
- 《人教新课标版高二选修8 Unit 1 A land of diversity-reading ppt课件2》.ppt
- 《人教新课标版高二选修8 Unit 1 A land of diversity-Using Language ppt课件1》.ppt
- 《人教新课标版高二选修8 Unit 1 A land of diversity-Warming up & Reading ppt 课件》.ppt
- 《人教新课标版高二选修8 Unit 1 A land of diversity-words study ppt课件1》.ppt
- 《人教新课标版高二选修8 Unit 1 A land of diversity-words study ppt课件2》.ppt
- 《人教新课标版高二选修8 Unit 1 A land of diversity-Writing ppt课件》.ppt
- 《人艰不拆、喜大普奔等网络语言诠释2016LED显示屏行业》.doc
- 《什么是家用中央空调》.pdf
- 《从LED原理分析用恒流供电还是恒压供电》.doc
- 市科技局副局长在理论学习中心组学习2025年全国两会精神研讨发言材料.docx
- 在深入贯彻中央八项规定精神学习教育读书班开班式上的讲话1.docx
- 关于开展深入贯彻中央八项规定精神学习教育的工作方案.docx
- 市国资委党委书记学习2025年全国两会精神专题研讨发言材料.docx
- 在2025年作风建设专题“读书班”上的研讨发言材料(八项规定).docx
- 在县政府全体会议暨廉政工作会议上的讲话4.docx
- 关于我市农村电商发展情况的调研报告.docx
- 在某某区安全生产重点工作安排部署会上的讲话.docx
- 市发改局党组书记在理论学习中心组会上学习2025年全国两会精神的研讨发言材料1.docx
- 商务局委员会(商务局)基层党组织“分类指导、争先进位”工作方案.docx
文档评论(0)