添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

程序背景:  模拟 手机短信 收发  包括 读 、 写   当前用不在线 信息的保存 以及 离线发送等

程序设计思路 :  客户端  双线程...  发送信息 Thread

接收信息  Thred

好处: 不会产生阻塞..

服务器端  多线程:  两个 ServerSocket  用于 等待  客户端的  接收  和 发送

遇到问题: 调试期间,单 客户端成功连接后,CPU 占用率 高达 50%

程序简化代码 如下: 下面代码中 我会 标注出 出现问题的 地方

客户端 如下 main方法中的代码  注意 下面代码 仅仅是为了说明问题..不是 完整的实例程序

public static void main ( String[] args )

{

new Socket ( "127.0.0.1", 5678 );

new Socket ( "127.0.0.1", 8988 );

//下面代码 产生 占用率高的问题

while (true)

{

}

}

问题产生原因:  while true 循环 是一个死循环,同时因为 while 循环的不间断执行,导致频繁的访问资源,使cpu 占用率 过高

解决办法: while  true  循环中 采用阻塞似的 方式,例如 输入流的 Scanner 中的 .nextInt()方法等

此类问题,在服务器端,用户端 的 多线程 程序中 run 方法中 也出现过 ,希望能给大家提个醒.. 避免类似的错误发生...

PS:希望大家能推荐下 能画简单流程图的 软件... 以后 我可以把图画出来 这样就 更清晰明了了

转载于:https://www.cnblogs.com/anger-coder/archive/2012/08/17/2644679.html

版权声明:本文为CSDN博主「weixin_30522183」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接: https://blog.csdn.net/weixin_30522183/article/details/96679862