下载模块,用的是winsock,由模块负责下载功能.
在单核CPU或某些双核机器上都正常,但就是有一部分双核机器,下载不到内容.代码过程:
...
上面代码 winsock 已经在开始下载了
接下来开始等待其下载完成.do while true
if downbe then exit do
doevents
sleep 50
loop
以前在其它编程时也遇到过,好像有部分双核CPU在遇到 doevents 的时候,它竟然会跳过这段代码,直接执行下面的代码了.
不知道有没有谁遇到这种问题?有何解决方法?

解决方案 »

  1.   

    不是Cpu的问题,如果有的语句执行,另一些语句不执行,这只能是坏了的CPU
      

  2.   


    很难说的,我公司原来有个winsock程序,一直正常.前些日子我机器换了双核,在我机器上就运行不正常.因为只有这一台双核机器,我也不能确定是原因究竟是什么....源码已经没有了,如果楼主的问题都发生在双核机器上,还真有点疑惑...
      

  3.   

    sleep 50
    用 timer控件
      

  4.   

    执行doenvents的时候,winsock事件还没发生。。
    例如网速慢了,或网络间歇性中断一下下。。不要sleep,因为sleep的时候如果异步对象的事件如果发生,你就无法捕获到了