解决方案 »

  1.   

    建议使用两个线程,主线程负责界面的绘制和响应,数据线程负责读取短信,更新数据库、更新全局变量。
    由于主线程和数据线程可能会同时访问一些资源,必要的地方可以使用Mutex进行保护PS: Windows任务管理器不也是1秒刷新1次吗,2L不要瞎吐槽
      

  2.   


    现在运行在3GHz频率的新款x86处理器极限可没那么低哦,用QueryPerformanceCounter实现0.1ms级别的定时也不困难
      

  3.   


    现在运行在3GHz频率的新款x86处理器极限可没那么低哦,用QueryPerformanceCounter实现0.1ms级别的定时也不困难硬件的极限不等于CPU的极限。
      

  4.   

    无论是多线程还是定时器,都不能超越lz的逻辑思维上的所谓“1秒种一更新”的局限性。比如说,也许有人没有实际做过的时候非常不注意“如果让1秒钟才刷新一次QQ即使聊天消息”会怎么样?如果你找两个人在办公室里测试,这两个人肯定会说“你这个即使聊天软件是迄今为止最滥的了!”。因为1秒更新一次的QQ界面,给人就是这个感觉。你所监视的消息,如果到来了,就应该显示。而如果没有到来,你去轮询干什么?为什么会出现“1秒中更新一次的QQ界面”?很明显,除了“轮询数据库”这一种编程,就不会双向通讯程序编程了。这才是决定这个设计的结果的主要因素。
      

  5.   

    我们在设计各种所谓的“实时监控”之类的说法的程序时,遇到了只会做课堂上的OA程序(甚至是只会做asp.net的OA程序)的数据库轮询的程序员,这才是这种项目失败的主要因素。