PostMessage和AfxBeginThread有什么区别?

时间:2009-09-16 06:11:00

标签: c++ multithreading mfc visual-c++

我可以通过PostMessage和AfxBeginThread实现相同的功能(异步调用) 那么PostMessage和AfxBeginThread之间的区别在哪里?

2 个答案:

答案 0 :(得分:7)

AfxBeginThread在你的函数中启动一个全新的线程。

PostMessage正在使用进程的主消息循环,因此如果使用PostMessage进行长时间操作,您将冻结消息循环,使GUI无响应,直到您完成操作。

答案 1 :(得分:1)

在Windows编程中,发布消息是一种非常被低估的线程同步方法。我几乎专门使用它而不是其他线程通信机制。但我认为这不是你所要求的。

我会问你的处理是否足够长以保证自己的线程。如果答案是否定的,那就保持简单,只需在同一个线程中进行。

相关问题