如题!
我用TClientSocket和TServerSocket分别做客户端和服务器进行文件传送,一运行客户端CPU 使用率就会上100%,这是怎么回事啊?是不是SOCKET 通讯都回有这问题?
后来我将客户端改成多线程的形式,在一个线程中接受文件,还是上100% !!真郁闷!
请高手帮忙看看是怎么回事,谢谢。

解决方案 »

  1.   

    select none blocking mode
      

  2.   

    客户端的 clienttype 已经是 ctNonBlocking
    服务器的 servertype 已经是 stNonBlocking
    不行!
      

  3.   

    线程循环中添加Sleep(1或10等适当数值)
      

  4.   

    老生常谈了,在线程处理代码中加sleep,必须要加的,否则不只是cpu100%的问题,还会有其他问题。
      

  5.   

    如果不管是不是多线程都需要SLEEP来降CPU使用率,那多线程的优势何在?
    另外加了SLEEP程序的执行速度会慢很多!另外即使这样CUP的使用率也会呈抛物线的形式缓慢上升!
      

  6.   

    CUP的使用率上升可能是你自己写的程序处理的问题
      

  7.   

    楼主!!!请问你的客户端改成多线程的形式,在一个线程中接受文件。是怎么搞的!!!帮帮我!!![email protected]