Mi chiedo cosa succede quando un utente chiude la scheda che ha generato il thread di lavoro, mentre il thread sta ancora funzionando. Si ferma tutto? In tal caso, c'è un modo per eseguire il thread in background anche quando la scheda è chiusa?Cosa succede a un thread di lavoro Web HTML5 quando la scheda viene chiusa mentre è in esecuzione?
Cosa succede a un thread di lavoro Web HTML5 quando la scheda viene chiusa mentre è in esecuzione?
risposta
Sì, blocca tutto, un lavoratore (dedicato) non può sopravvivere al suo proprietario. Se si utilizza un lavoratore condiviso, che può avere più proprietari, il lavoratore rimarrà attivo solo se almeno un proprietario è vivo. Questo è il caso anche se si trasferisce l'entangled MessagePort
in un'altra finestra (ad esempio il proprietario della porta messaggi è non il proprietario del lavoratore).
Quindi, con i lavoratori condivisi è possibile "trasferire" la proprietà aprendo una nuova finestra che stabilisce la propria connessione con l'operatore (con new SharedWorker(...)
) e quindi chiude la vecchia finestra. Ma una finestra deve sempre rimanere aperta.
dare uno sguardo qui
http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#workerglobalscope
Io penso si conferma che una volta che il browser va via, eventuali lavoratori devono fermarsi.
Ogni volta che un oggetto Document viene scartato, deve essere rimosso dalla lista dei documenti del lavoratore di ogni lavoratore il cui elenco contiene che Documento .
Nel caso in cui si disponga di una finestra che utilizza gli operatori Web e si chiude tale finestra (o scheda), l'operatore si allontana.
Se si dispone di un caso in cui si dispone di una finestra, che apre altre finestre o schede, gli addetti possono continuare. Ma se chiudi tutto, se ne vanno tutti.
- 1. Cosa succede quando modifico uno script mentre è in esecuzione?
- 2. Cosa succede a un AsyncTask quando l'attività di avvio viene arrestata/distrutta mentre è ancora in esecuzione?
- 3. Cosa succede a una transazione non impegnata quando la connessione viene chiusa?
- 4. Cosa succede a un database Sqlite quando l'app viene rimossa
- 5. Quando su alcuni thread viene chiamato Thread.interrupt(), cosa succede?
- 6. Cosa succede quando un processo è biforcato?
- 7. Cosa succede quando aggiorniamo una pagina web?
- 8. Cosa succede agli altri thread quando un thread si biforca()?
- 9. Cosa succede mentre (! Volatile); fare?
- 10. Cosa succede quando viene violata la politica di thread di Swing?
- 11. Cosa succede se si modifica uno script php mentre è in esecuzione un'istanza di esso?
- 12. Cosa succede ai thread e alle visualizzazioni di un'attività quando viene distrutta?
- 13. Cosa succede a un'attività quando è annullata?
- 14. Cosa succede a un thread quando la classe originale esce dall'ambito
- 15. Cosa succede quando viene assegnato un tipo contenente un lambda?
- 16. Cosa succede se chiudi una connessione chiusa?
- 17. Cosa succede quando un thread .NET genera un'eccezione?
- 18. Java: cosa succede quando un nuovo thread viene avviato da un blocco sincronizzato?
- 19. Cosa succede se si modifica una procedura memorizzata mentre è in esecuzione?
- 20. Cosa succede quando localStorage è pieno?
- 21. Cosa succede quando un pool di connessioni è esaurito?
- 22. Cosa succede quando viene chiamato "return" da un blocco "using"?
- 23. Cosa succede quando l'host della finestra mobile viene riavviato?
- 24. Cosa succede a app.config in un progetto di riferimento
- 25. Cosa succede quando si chiama un metodo statico in C#?
- 26. Cosa succede quando il kernel delayed_work è riprogrammato
- 27. In .NET, cosa succede a un thread quando termina il suo compito? Devo gestirlo?
- 28. Cosa succede quando un UIView viene aggiunto a un altro UIView due volte in IOS?
- 29. Cosa succede dopo che un metodo viene chiamato in Java
- 30. cosa succede esattamente quando `enableProdMode()`
Giusto per chiarire, poiché la discussione è incentrata sulle nuove finestre, questo dovrebbe applicarsi anche ai nuovi carichi di pagina. Il caricamento di una nuova pagina ignora l'oggetto documento corrente (il web worker si allontana) e viene ricreato sul nuovo caricamento del documento. – ElHaix