我们有一个项目,其核心功能使用 ACE 实现,并围绕它的 Reactor 构建。我们想使用 Wt 添加一个小型 Web 界面。
那么问题来了,能不能把wt接口的主循环换成ace反应器呢?
我想到的唯一坏主意是在 Reactor 端有一个快速计时器,它以某种方式调用 wt 部分。反过来,反应器可以使用它的 handle_events 方法“逐个滴答”运行,但我在 wt 端找不到等效项。
注意:这个问题背后的主要问题是关于线程。我们没有线程,代码不是线程安全的,如果 HMI 可以与应用程序的其余部分运行在同一个线程上,对我们来说会简单很多。但是有 2 个阻塞调用,一个对 theReactor->run_reactor_event_loop(),另一个对 Wt::WRun() 是一个问题!