这个Socket服务器端的处理方式是这样的,一个侦听线程,当客户端发来请求的时候,由侦听线程启动一个连接线程(设置最大连接数,当达到最大连接数的时候,服务器停止侦听,一段时间后,重新开始侦听)。在做测试的时候发现,连续发送100个客户端消息的时候,当把这些消息都处理完毕了,服务器CPU突然被占满,无法释放。最奇怪的是在处理这些消息的时候,CPU占用状态还算正常。请大家帮我分析下,有可能是什么原因~~谢谢大家了~

解决方案 »

  1.   

    还有一个问题忘了说,在一些线程处理中,会出现数据丢失的现象。也请大家帮我分析下~~
      

  2.   

    检查一下线程是否有死锁会发生
      

  3.   

    整个程序中只有两个临界资源,一个是数据处理的,一个是写日志的。应该不会出现死锁。如果出现死锁或者同步问题的话,那么为什么在处理100个客户端消息的时候没有问题呢?还望各位高手指教~~。