首页 新闻 会员 周边 捐助

关于java 启动多个(几十个以后)socket 客户端连接socketserver服务端导致CPU爆掉

0
悬赏园豆:40 [待解决问题]

这里碰到一个问题希望大神们帮忙解决一下。

现在的情况是,我这边java 启动几十个socket去连接服务器(客户端与服务端不在一台服务器),每启动一个socket会对应启动两个线程,一个线程通过死循环来监听inputstream接收数据,一个线程来监听outputstream发送数据。这两个线程都有休眠(120ms),结果是我这边CPU会飙升100%(服务器性能好点的可以启动更多的socket)。大神们有没有什么好的解决方案。

哈哈~~的主页 哈哈~~ | 初学一级 | 园豆:48
提问于:2018-01-25 11:51
< >
分享
所有回答(4)
0

你什么都不做死循环都会让cpu飙升!

sleep一下就行了。

花飘水流兮 | 园豆:13617 (专家六级) | 2018-01-25 12:12

休眠处理已经做过了,但是还是不行。

支持(0) 反对(0) 哈哈~~ | 园豆:48 (初学一级) | 2018-01-25 13:44
0

去掉所有的死循环

ycyzharry | 园豆:25683 (高人七级) | 2018-01-25 13:16

去掉后怎么监听服务端发过来的数据

支持(0) 反对(0) 哈哈~~ | 园豆:48 (初学一级) | 2018-01-25 13:45
0

使用mq来发送数据,监听数据.

MonkeyLu | 园豆:214 (菜鸟二级) | 2018-01-25 13:42
0

贴下代码吧

Daniel Cai | 园豆:10424 (专家六级) | 2018-01-25 13:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册