我做的一个抓包程序占用的cpu资源太多会是什么原因呢?
如题! 问题点数:0、回复次数:7Top
1 楼gyj_china(透明)回复于 2005-04-03 19:53:21 得分 0
可能你用到轮循而又没有一定的休眠,导至CPU的占用率很大.Top
2 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-04-04 10:18:42 得分 0
用Sleep一下Top
3 楼Caps77(厉兵秣马)回复于 2005-04-04 10:40:05 得分 0
int i = 0;
while(1)
{
i++;
}
这样的代码可以占用100%的CPU资源
int i = 0;
while(1)
{
i++;
::Sleep(10);
}
这样就不会
Top
4 楼windcsn(向所有的朋友学习!)回复于 2005-04-04 14:06:06 得分 0
建议你使用一个单独的线程来做这个事情,这样有一个单独的线程来负责capture,另外的负责显示Top
5 楼xyc1120(win)回复于 2005-04-04 20:36:09 得分 0
我是用一个单独的线程capture,显示是在主线程中。Top
6 楼cryptonym(想裸睡)回复于 2005-04-04 21:44:45 得分 0
要是sleep的话会丢包吧。
网卡上的芯片可是不sleep一直在跑哦。Top
7 楼xyc1120(win)回复于 2005-04-04 22:46:03 得分 0
好象是显示的问题。就是我将抓到的包显示在列表视图中。
当列表刷新很快的时候,cpu占有率就很大。当列表刷新慢的时候,
占有率就小,我如何控制列表视图刷新的快慢呢?谢谢!Top




