如何使一个等待某个事件的c ++程序出现响应?

时间:2014-04-25 11:41:19

标签: c++ visual-studio-2010

我正在使用visual studio 2010使用c ++开发一个Windows窗体应用程序。

此程序等待连接请求等事件并显示消息

但是这个程序在Windows任务管理器中显示为“没有响应”。

有没有办法让程序显得敏感?

1 个答案:

答案 0 :(得分:2)

这种情况的标准做法是使用多线程。创建后台线程以等待连接请求或您可能导致主线程阻塞的任何事件。

这允许应用程序的用户界面保持响应。如果您不使用线程,主UI空间线程将被阻止等待请求,并且无法处理其他事件,例如绘制表单,响应窗口事件等。

在Windows编程中,任何需要花费大量时间的活动都应该是线程化的。这不是一个严格的规则,但是实用的线程数量将为您的应用程序提供平滑,响应的感觉。主线程应保留用于绘制和处理用户交互。

Google搜索会为您提供大量示例,但here是一个很好的例子,可以帮助您入门。