我可以通过PostMessage和AfxBeginThread实现相同的功能(异步调用) 那么PostMessage和AfxBeginThread之间的区别在哪里?
答案 0 :(得分:7)
AfxBeginThread在你的函数中启动一个全新的线程。
PostMessage正在使用进程的主消息循环,因此如果使用PostMessage进行长时间操作,您将冻结消息循环,使GUI无响应,直到您完成操作。
答案 1 :(得分:1)
在Windows编程中,发布消息是一种非常被低估的线程同步方法。我几乎专门使用它而不是其他线程通信机制。但我认为这不是你所要求的。
我会问你的处理是否足够长以保证自己的线程。如果答案是否定的,那就保持简单,只需在同一个线程中进行。