【发布时间】:2015-02-11 08:52:28
【问题描述】:
在javascript中,我在fitst调用postMessage,然后调用postMessageAndAwaitResponse。
var ret;
naclModule.postMessage(msg);
ret = naclModule.postMessageAndAwaitResponse(msg);
而 pp::MessageHandler 在我的 C++ 应用程序中的实现是:
void HandleMessage(pp::InstanceHandle instance, const pp::Var& var_message)
{
for (int i = 0; i < 10000; ++i)
{
for (int j = 0; j < 10000; ++j)
++m_iRetVal;
}
}
HandleBlockingMessage 是:
pp::Var HandleBlockingMessage(pp::InstanceHandle instance, const pp::Var& var_message)
{
return pp::Var(m_iRetVal);
}
m_iRetVal 是类数据成员。
我测试了这个程序,postMessageAndAwaitResponse 的返回值总是 100000000。我想知道在这种情况下,HandleBlockingMessage 是否总是在 HandleMessage 完成后执行? 我想调用postMessage,在HandleMessage中做大量的计算(可能需要很长时间),然后调用postMessageAndAwaitResponse得到计算结果。我可以这样做吗?
【问题讨论】: