Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading wxapp在mac中运行一段时间后变得无响应_Multithreading_Macos_Timer_Wxwidgets_Chromium Embedded - Fatal编程技术网

Multithreading wxapp在mac中运行一段时间后变得无响应

Multithreading wxapp在mac中运行一段时间后变得无响应,multithreading,macos,timer,wxwidgets,chromium-embedded,Multithreading,Macos,Timer,Wxwidgets,Chromium Embedded,我有一个wxApp实现,其中wxFrame嵌入了一个CEF浏览器。应用程序显示初始屏幕并加载所有良好的内容。但是,经过一定延迟(不一致)后,应用程序框架将变得无响应,并且不会处理任何事件。我已经放置了一个wxTimer来计算它所花费的时间,它在28秒到60秒之间变化。这也是不调用计时器事件的地方。现在,当我按下窗口上的x或最大化图标时,所有挂起的事件都会被发送,应用程序会再次激活。 以下是我尝试过的选项: 调用wxTheApp->ProcessPendingEvents()(每1秒运行一次)

我有一个wxApp实现,其中wxFrame嵌入了一个CEF浏览器。应用程序显示初始屏幕并加载所有良好的内容。但是,经过一定延迟(不一致)后,应用程序框架将变得无响应,并且不会处理任何事件。我已经放置了一个
wxTimer
来计算它所花费的时间,它在28秒到60秒之间变化。这也是不调用计时器事件的地方。现在,当我按下窗口上的
x
或最大化图标时,所有挂起的事件都会被发送,应用程序会再次激活。 以下是我尝试过的选项:

  • 调用
    wxTheApp->ProcessPendingEvents()(每1秒运行一次)
  • 尝试并研究了
    onIdle
    方法。这也会在一段时间后暂停

我的猜测是,应用程序主线程由于某种原因暂停,并且无法恢复,除非任何UI操作触发它。

应用程序的结构是什么?也就是说,它是否使用wx事件循环?@Nareshkumar,什么版本的CEF?您正在使用wx的CEF分支吗?@Igor CEF-
76.1.13
和wx-
v3.1.3
@VZ。它使用wx事件循环,并通过计时器通过
cefdoopWork
泵送CEF事件。(每10毫秒运行一次)@Nareshkumar,检查wx存储库。有一个GSoC项目将CEF API引入wx。不幸的是,它还不完整,但是如果您获取当前的Git主机,检查分支并构建CEF示例——您可能能够找出代码的错误。