我现在做的一个程序是没有时间间隔,需要不断去接口读取数据,程序运行发现在CPU占用很高,然后电脑提示系统虚拟内存不足,原来厂家有个版本程序,里面释放资源的C++Builder代码是Application->ProcessMessages();转换成C#的代码是什么呢
while (true)
{
........
释放资源
}

解决方案 »

  1.   

    楼上的两个朋友的方法我都试过,还是解决不了问题,程序一运行,CPU就镖升
      

  2.   

    哥们
    Application->ProcessMessages();
    在C#里就是这个
    Application.DoEvents();ProcessMessages()
    在VCL中是处理当前消息队列中的消息
    避免窗体不刷新、感觉像死掉一样DoEvents()在C#中就是执行等待的事件
    其实是同一作用
    ProcessMessages()能释放资源的功能你是从哪里看到的?while (true)
    {
        Application.DoEvents(); //只是让用户感觉程序没有死掉,并不会降低CPU使用,相反会增加CPU处理,因为要相应更多消息处理更多事件
        //释放资源
    }
      

  3.   

    出现“虚拟内存不足”估计你的代码有内存泄露
    如果不是什么机密可以贴出
    while里的内容来分析看看