2009-10-06 4 views
1

У меня есть расширение, которое использует многопоточность с использованием рабочего потока, как показано на рисунке here. Всякий раз, когда рабочий поток возвращает значение в основной поток, я обновляю пользовательский интерфейс, и я снова запускаю этот поток, потому что я хочу постоянно выполнять эту операцию. Я не могу использовать setInterval, потому что внутренний поток - это вызов функции компонента C++ XPCOM, которая блокирует вызов блокировки сокета и этот прием может не быть периодическим.Как закрыть нить, когда firefox закрывается

Теперь, когда я закрываю firefox, окно firefox закрывается, но процесс firefox продолжает работать и потребляет 99% процессор. Поэтому мне всегда нужно принудительно закрыть этот процесс.

Как закрыть этот процесс полностью. Extension в накладке, как этот

<overlay id="helloworldOverlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> 
<statusbar id="status-bar"> 
. 
. 
. 
</statusbar> 
</overlay> 
+0

то, что нить делать? Почему бы вам не поместить setInterval в основной поток? – Peter

+0

Я не могу использовать setInterval, потому что внутренний поток - это вызов функции компонента C++ XPCOM, которая блокирует вызов блокировки сокета, и этот прием может быть не периодическим. – Xinus

ответ

4

Используйте terminate метод: https://developer.mozilla.org/En/DOM/Worker#Methods

+0

terminate .. где я его называю, присутствует ли он в javascript или какой-либо службе? – Xinus

+0

https://developer.mozilla.org/En/DOM/Worker это рабочий метод (например, postMessage) – Peter

 Смежные вопросы

  • Нет связанных вопросов^_^