Java 服务器端多线程求解 我写了一个服务器端程序,服务器这边有两个按钮(启动,断开)。因为服务器要连接多个客户端的请求所以用了while循环,只要有客户端请求就分一个线程与之连接。运行后发现,“启动”以后程序就死了,断开按钮也不好使了,关闭也关闭不了。是不是因为死循环的原因,怎么解决。高手来帮帮忙啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这是“启动”时的代码:public starServer(){ ServerSocket rServer=null; Socket request=null; //请求套接字 Thread receiveThread=null; try{ rServer=new ServerSocket(4600); System.out.println("Welcome to Server"); shareLinkList=new ShareLinkList(); while(true){ request=rServer.accept(); receiveThread=new serverThread(request,shareLinkList);//生成serverThread实例 receiveThread.start();//启动serverThread线程,执行具体的方法 }//while }catch(IOException e){ System.out.println(e.getMessage()); } }//ServerShare() 设一个构造方法吧,把while循环放到线程的run()方法里面,在构造方法里启动线程 你的启动方法本身也应该放到一个线程里去,而不是构造方法。因为request=rServer.accept(); 会使调用它的线程阻塞,所以就会出现你说的卡死的现象了 关于java变量不能重复覆盖吗?? java怎么向SQLServer里插入datetime类型? Spring事务控制问题 “\xe7\xa1\xae”表示我,\xe7\xa1\xae是用什么编码? 这么简单的问题,应该很快有回复吧?刷新等待中 如何让我的java数据库接口程序和操作系统一起启动呢?(up有分) 如何在lotus domino中调用applet的method? 事件响应的问题? 在不开发自主的邮件服务器软件的前提下如何开发webmail??具体问题请进! 如何用JAVA实现随机字符串和随机数的生成. 更改在jframe里添加的图片 一道笔试题目,求助高手
这是“启动”时的代码:
public starServer(){
ServerSocket rServer=null;
Socket request=null; //请求套接字
Thread receiveThread=null;
try{
rServer=new ServerSocket(4600);
System.out.println("Welcome to Server");
shareLinkList=new ShareLinkList();
while(true){
request=rServer.accept();
receiveThread=new serverThread(request,shareLinkList);//生成serverThread实例
receiveThread.start();//启动serverThread线程,执行具体的方法
}//while
}catch(IOException e){
System.out.println(e.getMessage());
}
}//ServerShare()
就会出现你说的卡死的现象了