我有一个使用 ppapi_simple 的 NaCl C 程序。我需要调用异步 PPAPI 函数,例如PPB_NetworkMonitor::UpdateNetworkList()。
当我尝试天真地实现它时,我传递给 UpdateNetworkList() 的回调从未被调用过。查看 ppapi_simple 源代码,我注意到 ppapi_simple 从未在其内部消息循环中调用PPB_MessageLoop::Run() ,这可能解释了为什么我的回调从未被调用。
在 ppapi_simple 程序中使用异步 PPAPI 函数的正确方法是什么?我应该创建自己的线程和消息循环吗?
编辑:根据 MessageLoop 的文档,它只需要在线程上进行 PPAPI 调用。所以我尝试使用 CallOnMainThread() 在主线程上调用 UpdateNetworkList() 并且它确实有效 - 我的回调被调用。虽然不确定这是最好的解决方案。