首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

写了一个socket通迅的程序,但过一会就cpu100% 最大的可能是什么解决方案

2012-08-16 
写了一个socket通迅的程序,但过一会就cpu100% 最大的可能是什么写了一个局域网的socket通迅的程序,客户端

写了一个socket通迅的程序,但过一会就cpu100% 最大的可能是什么
写了一个局域网的socket通迅的程序,客户端在100以内,每次运行一些时间后,从几分钟到几十分钟不等,就出现服务端cpu占用100%,通迅死掉的现像。我用的是异步通迅,请问这总情况可能的原因有哪些?

[解决办法]
死锁,死锁
[解决办法]
线程启动太多,一直运行,不释放资源。
每一个线程启动后,做完了自己的工作一定要退出,
如果你没有设置退出的条件,那么你的线程一直运行。
当然就占尽了所有的资源了。
[解决办法]
检查循环内部的代码,循环是否不停地在执行中。
[解决办法]
死锁不会100%吧。
这种情况,我个人觉得是你的服务端程序有问题,你的服务端程序在接收到信息并且护理完毕之后,并没有释放资源。
如果你的服务端的处理线程是你自己维护的thread,那么应该是你服务端程序的数据资源没有释放。
如果你的服务端的处理线程是使用异步来完成的,那么应该是你的异步执行方法有问题,里面有死循环,资源一直得不到释放。
好好检查一下你的处理线程的函数。

热点排行