看了<如果你用单线程写Socket>楼主写的socket例子,自己今天抽空也写了一个socket的例子,基于concurrent包的线程池的,发出来给大家看看.
package com.sluggard.socket;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ConcurrentServer {
private boolean stat = true;
private ExecutorService executorService = Executors.newCachedThreadPool();
private ServerSocket server;
public void start() {
try {
server = new ServerSocket(9999);
while(stat) {
Socket socket = server.accept();
executorService.submit(new MyCallable(this, socket));
}
server.close();
executorService.shutdown();
} catch (IOException e) {
e.printStackTrace();
}
}
public void stop() {
stat = false;
}
//通过这个类提供了一个简单的退出功能
private static class MyCallable implements Callable<Socket> {
ConcurrentServer source;
Socket socket;
@Override
public Socket call() throws Exception {
String s;
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
while((s = br.readLine()) != null) {
if("quit".equals(s)){
socket.close();
source.stop();
}
System.out.println(s);
}
return null;
}
private MyCallable(ConcurrentServer source, Socket socket) {
super();
this.source = source;
this.socket = socket;
}
}
public static void main(String[] args) {
ConcurrentServer server = new ConcurrentServer();
server.start();
}
}
分享到:
相关推荐
Tomcat.JSP<br>JSWDK环境安装与配置<br>Resin服务器平台介绍<br>Resin在IIS中的安装配置<br>JRun2.3平台介绍<br>Unify eWave ServletExec...用JSP做的日历<br>JSP技巧集锦(一)<br>关于JSP写文件的补充<br>JSP文件操作...
<br><br>有感于配置管理员做配置库记录的工作量繁重,测试人员不了解文件版本变化,不知道如何有重点、有策略性地进行回归测试。所以写了这么一个小程序帮助解决问题,作为配置管理流程中的沟通工作的一个补充。<br>...
这篇博客“超级注意复杂整合环境中的Filter-Mapping的顺序--配置单点登陆及UrlRewrite有感”深入探讨了如何在这样的环境中正确配置Filter和Mapping,以实现单点登录(Single Sign-On, SSO)以及URL重写。下面我们将...
有感于态度决定一切.doc
有感于课程改革的实施.doc
【标题】:“有感于旧书范文.doc”引发的思考:书籍与时光的对话 【描述】:这篇文档以旧书为引子,探讨了时间、记忆与个人成长的深刻主题,暗示着书籍不仅是知识的载体,更是生活痕迹的见证。 【标签】:文学、...
有感于“安全生产工作迎来新的春天”.docx
标题中的“镜子-有感于做人作文.doc”和描述中提到的内容,实际上是以镜子作为隐喻,探讨关于做人的道理。这里的镜子分别象征了平面镜、显微镜、望远镜和哈哈镜,它们各自代表了不同的生活态度和价值观。 平面镜,...
【标题】:“初中语文语文论文有感于家长开放日” 【描述】:本文主要探讨了在家长开放日活动中,学校、教师以及学生家长之间互动的影响和意义,特别是对于提升教育质量和促进家校合作的重要性。 【标签】:“资料...
这篇“有感于《走进葡萄园……》”的初中语文语文论文揭示了教育与参与之间的深刻联系,以及教育方法对教育效果的重要影响。文章通过讲述法国南部葡萄园的故事,对比了传统教学方式与创新教学方式的差异,引发了对...
2021当好自己的家,作好自己的主有感于中队委选举前后.docx
虽然文件标题和描述提及的是“有感于政治学科的教学艺术”,但实际上,文档内容主要探讨的是教学艺术在教育中的重要性和具体功能,而并未特指某一特定学科,如政治。因此,我们将围绕教学艺术这一主题展开讨论。 ...
最近寫的一個socket通信程序,供大家免費下載,有感興趣的朋友可以交流交流。
作者在本科和研究生阶段积累了对信号处理的理解,希望能将这些算法用C++实现,从而诞生了SP++。2009年,作者在面临复杂算法转换为C语言时,发现缺少国内开发者贡献的类似库,这激发了他创建SP++的决心。经过两年半的...
dbForge Studio for MySQL 7.2.58破解版,报病毒是因为破解文件的问题导致,实际上没毒。有感于别人高昂的下载分,本来想设置成免费的,结果最低也得设置成2分
### 有感于《路边拾遗》:摄影与心灵之旅 #### 一、摄影的意义与价值 《路边拾遗》是一本由两位非职业摄影师创作的摄影画册,书中不仅收录了他们拍摄的精美照片,更重要的是传达了作者对摄影艺术的理解与感悟。...
### 有感于《犹太妈妈培养富豪手记》关键知识点提炼 #### 一、父母之爱的本质 - **以分离为目的的爱**:书中强调父母的爱与其他类型的爱不同,它以帮助孩子成长为独立个体为目标,即最终实现与父母的情感“分离”。...
文章《关于实践——有感于大学计算机教育》由张辉撰写,这位布道师在文中探讨了大学计算机教育的现状以及对学习实践的重视。他指出,随着新技术和语言的不断涌现,许多人在学习过程中感到焦虑。张辉认为,新概念的...