我编写了一个无窗口的 NPAPI 插件,我将在 Web 浏览器 JavaScript 调用的插件函数中执行一些持久的操作(例如发送带有图像数据的 http post 请求)。Web 浏览器必须等待插件的工作线程完成其工作,然后才能执行任何其他操作。
为了防止网络浏览器挂起,我在插件函数中为冗长的操作创建了一个工作线程。
我的问题是如何在插件功能中正确地等待线程完成,并且同时不挂起浏览器?
据我所知,以下代码似乎仅适用于窗口模式应用程序。
// on Main thread
while (WaitForSingleObject(hWorkerThread, 100) == TIMEOUT)
{
while (PeekMessage(...))
{
TranslateMessage(...);
DispatchMessage(...);
}
}
任何帮助将不胜感激。