我记得在某本书上曾经说到,不要在自定义的消息处理函数中做大量复杂的工作。
比如我现在设置了一个键盘钩子,当按下某个按键的时候,会给我的一个窗体发送一个自定义的消息。
然后我在这个自定义的消息处理函数中,做了很多比较耗时的工作。这样做是不是不太好?
怎么做更好些?谢谢大家 -_-

解决方案 »

  1.   

    耗时的工作,就启动线程来做啊。主线程做耗时的事,不就假死了么。自然是不好的
      

  2.   

    消息响应应该快捷,如果需要处理大业务请使用线程处理
      

  3.   

    不太好!
    其实不仅仅是自定义消息函数,任何在界面线程中处理复杂任务都会导致界面卡死,用户体验下降。
    一般根据自己的经验,来判断该任务的大小和耗时。把耗时任务放入工作线程中,以自定义消息的形式通知界面线程来完成绘制。
      

  4.   

    消息函数好像是在主线程中,在这个消息函数中创建一个线程感觉还行。
      

  5.   

    费时的操作不要在主线程中做即可。
      

  6.   

    带有循环、延时、大数据处理的工作都放在工作线程中处理。
    主线程只负责界面更新。