Я написал плагин NPAPI без окон, и я собираюсь выполнить некоторую длительную операцию (например, отправить HTTP-запрос на публикацию с данными изображения) в функции плагина, вызываемой JavaScript веб-браузера. Веб-браузер должен дождаться, пока рабочий поток плагина завершит свою работу, прежде чем делать что-либо еще.
Чтобы предотвратить зависание веб-браузера, я создаю рабочий поток для длительной операции в моей функции плагина.
У меня вопрос в том, как правильно дождаться завершения потока в функции плагина и без зависания браузера при этом?
Насколько мне известно, следующий код работает только в оконных приложениях.
// on Main thread
while (WaitForSingleObject(hWorkerThread, 100) == TIMEOUT)
{
while (PeekMessage(...))
{
TranslateMessage(...);
DispatchMessage(...);
}
}
Любая помощь будет очень признательна.