我写的Winform程序一登陆进入主界面,CPU占有率98%啊!~
我检查过了,只有一个等待接受的Socket,其他都好好的,我不知道怎么检查啊!
还有人能帮帮我啊,给我点建议啊!~

解决方案 »

  1.   

    那應該就是了socket的問題了,你再查查,或者把代碼貼出來看看。
      

  2.   

    你这个等待接受的Socket肯定是个死循环。一直在等待。
      

  3.   

    private System.Threading.ManualResetEvent allDone = new ManualResetEvent(false);
    allDone.reset()或者alldone.waitone()试试
      

  4.   

    支持楼上的代码.
    private System.Threading.ManualResetEvent test = new ManualResetEvent(false);
    test.reset();||test.waitone()
      

  5.   

    新建线程执行Socket的监听代码...
      

  6.   

    while( true )
    {
    if( yoursocket.Available )
    {
       ///do your work
    }
    else
     Threading.Sleep( 20 );
    }
    不要小看了这20毫秒,它可以让你的cpu去做其它的事,而不是只在这里等待,如果cpu占用率还是高的话,试着在程序中把你的线程优先级调低。
      

  7.   

    是否开过线程了,若启用了多线程,请注意加入Sleep(1);哪怕1ms也好