【发布时间】:2012-12-05 03:17:30
【问题描述】:
我有一个使用 wxWidgets 创建的 GUI 应用程序。作为功能的一部分,我必须在操作 GUI 窗口的同时运行“任务”。例如,我可能会运行代码:
long currentTime = wxGetLocalTime();
long stopTime = wxGetLocalTime() + 3;
while (wxGetLocalTime() != stopTime) {}
wxMessageBox("DONE IN APP");
在这 3 秒的持续时间内,我的应用程序基本上会被冻结,直到显示 wxMessageBox。有没有办法让这个在后台运行而不使用多个线程?它给我正在开发的应用程序带来了问题。
我想知道是否可以使用某些类型的事件处理。非常感谢任何形式的帮助。
【问题讨论】:
-
为什么要求你不想使用后台线程?
-
GUI 非常密集,所以希望保持单线程。在规范中更倾向于单线程。
标签: c++ multithreading background wxwidgets multitasking