两者都是带有事件循环的异步事件处理程序。这就是主线。
在 Qt 中,事件循环以 开头QApplication::exec()
,而 io_service 以 开头io_service::run()
。我的问题是在这一点之后。我可以在 Qt 而不是 io_service 中实现什么,反之亦然?有什么限制?什么时候更可取(忽略 Qt 的 GUI)?
更不重要的信息:在我脑海中引发这个问题的是我正在测试一些基于 C++ Qt 的程序,其中我的 GUI 逻辑位于从QObject
. 出于我的测试目的,我一直在寻找将函数(如在 io_service 中)发布到 Qt 事件处理程序的方法(因此,QObject::connect()
为简单起见绕过该事物),但随后意识到唯一的发布函数QApplication::postEvent();
,仅将 Qt 事件作为参数;不是函数、函子或 lambda!我没有问这个问题,因为这是一个明显的XY 问题,我仍在努力。