package multhread;
import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.concurrent.Executors;
import java.util.concurrent.ExecutorService;
public class ThreadPoolTest {
public static void main(String[] args)
{
boolean flag = true;
try
{
//1,创建线程池
ExecutorService pool = Executors.newFixedThreadPool(10);
//2,创建服务器
ServerSocket server = new ServerSocket(12345);
System.out.println("开始监听");
while(flag)
{
//这里flag一直为真,也就是说这个程序会一直在这里循环
//不断的接受来到的信息??? 是如此么???
Socket socket = server.accept();
//execute之后,这个线程会运行么?
//我没有看到start,也没看到关闭.如果这样,进入了10个线程,那么这个线程池
//是不是就满了,无法再使用。
pool.execute(new ServerThread(socket));
}
//既然在flag里进行无限制的循环,那么这里的操作永远不会达到,还有意义么?
//难道在新的线程里,能够修改这个flag的值??让程序退出么 ?
server.close();
pool.shutdown();
}
catch(IOException e)
{
e.printStackTrace();
}
}
}
class ServerThread implements Runnable
{
private Socket socket = null;
ServerThread(Socket socket)
{
this.socket = socket;
}
public void run()
{
try
{
//客户端输入输出流
DataInputStream is = new DataInputStream
(new BufferedInputStream(socket.getInputStream()));
OutputStream os = socket.getOutputStream();
String inputLine;
//4, readLine() 为何会显示过时???
while((inputLine = is.readLine()) != null)
{
//输入bye的时候关闭连接
if(inputLine.equals("bye"))
{
break;
}
else
{
System.out.println(inputLine);
os.write(("reply:" + inputLine).getBytes());
}
}
is.close();
os.close();
socket.close();
}
catch(IOException e)
{
e.printStackTrace();
}
}
}
详细解决方案
一段JAVA代码,里头有一些提问,希望大家帮忙简答下
热度:252 发布时间:2016-04-22 21:46:32.0
相关解决方案
- java 乱码 汉字是 ? 如何转换成汉字
- java web 登录次数限制,该如何解决
- java 工商银行网银支付 B2B的 都亟需什么,需要注意什么
- Java Applet程序从JDK6升级到7时遇到的有关问题
- java web 视频相干
- 请教一个关于链接后缀的有关问题(java web 应用)
- java 系统单点登录解决方案
- java.lang.NumberFormatException: For input string: "id"该如何处理
- java.lang.NoSuchMethodException: setId([Ljava.lang.String;)解决方法
- java 获取客户端IP解决办法
- JAVA 后台怎么获得前台页面FCKedit编辑器中的内容以及内容的样式
- java 正则化匹配有关问题
- java web 受阻
- java.lang.IllegalStateException: No output folder,该怎么解决
- java.lang.NoSuchMethodError: org.springframework.util.ReflectionUtils.makeAccess,该如何解决
- java 乱码有关问题 急求大神
- java EE错误如何解决阿,都是过了,没有能解决的!
- java 工程打包有关问题 多谢各位大神!多谢
- JAVA WEB导航条,该怎么处理
- java.sql.SQLException: Access denied for user 'root'@'localhost' (using password,该如何处理
- java 中Node 有关问题
- 关于 java 引述传递和值传递,你的知否
- 吐了,java Timer 终止不了。
- Java Web 学习中有关问题,请高手指教
- java web中的url地址小疑点。
- java web开发解决办法
- java.lang.NullPointerException解决方法
- 关于 java cast 有关问题,你明白不
- java ftp 下传和上载乱码有关问题
- java web项目上的一些文件