Daemon Threads fornisce servizi per i thread utente, oltre a gc
Qual è un altro esempio (caso) in cui è possibile utilizzare un thread daemon? (Qualsiasi compito (logico) che può essere all'interno del metodo di una daemon
Thread
run()
in pratica)Thread Daemon - Use case
risposta
Ecco un breve elenco di quando si consiglia di utilizzare un thread demone:
- raccolta di statistiche e lo svolgimento dei compiti di monitoraggio dello stato - Invio e ricezione di battiti cardiaci di rete, fornendo i servizi per gli strumenti di monitoraggio, e così via.
- Esecuzione di attività I/O asincrone - È possibile creare una coda di richieste I/O e impostare un gruppo di thread daemon che soddisfino tali richieste in modo asincrono.
- Ascolto connessioni in entrata - I thread daemon sono molto convenienti in situazioni come questa, perché consentono di programmare un semplice ciclo "per sempre", anziché creare un'installazione che presta attenzione alle richieste di uscita dal thread principale.
Sto pensando al suggerimento di inviare statistiche utente (sulle prestazioni di uno strumento o attività di un utente su quello strumento) come quelle di Eclipse o di qualsiasi altro strumento, cioè generare quel tipo di report in un thread daemon non è vero? destra? – LeandreM
@ user976095 Assolutamente, questi tipi di attività di I/O di rete dovrebbero essere eseguiti su thread daemon. Per me, il daemon generale/non demone "cutoff" segue la linea "per l'utente" e "per il programma". L'invio delle statistiche è sicuramente "per il programma", non "per l'utente". Gli utenti non apprezzerebbero che il thread delle tue statistiche finisca quando chiudono il programma, quindi il thread dovrebbe essere in esecuzione in modalità demone. – dasblinkenlight
Sembra una domanda di assegnazione ha ha.
È inoltre possibile utilizzarli per l'I/O perché il blocco di operazioni IO è il migliore per farlo in un thread di lavoro.
Anche attività di rete se si sta aspettando che le cose si scarichino ecc. Come la risposta a una richiesta di posta.
I thread daemon vengono in genere utilizzati per eseguire servizi per l'applicazione/applet (ad esempio il caricamento dei "bit di fiddley"). La differenza principale tra thread utente e thread daemon è che la JVM arresta un programma solo quando tutti i thread utente sono terminati. I thread daemon vengono terminati da JVM quando non ci sono più thread utente in esecuzione, incluso il thread principale di esecuzione.
In breve: i thread daemon non impediscono la chiusura del programma; i thread utente impediscono al programma di uscire.
- 1. SignalR: use camel case
- 2. Thread daemon Java
- 3. Architettura pulita - Robert Martin - Use Case Granularity
- 4. Thread daemon, conteggio thread e conteggio totale thread iniziato
- 5. Come posso creare i thread del daemon?
- 6. Monitoraggio thread Java. Come scoprire i thread live non daemon?
- 7. Quando utilizzare jQuery Mobile? Qual è il corretto "Use Case"?
- 8. SQL use Istruzione CASE nella clausola WHERE IN
- 9. In che modo JVM termina i thread del daemon? o Come scrivere thread daemon che terminano con grazia
- 10. Che differenza fa quando imposto il thread python come Daemon
- 11. Come sopravvive il thread daemon dopo la chiusura di JVM?
- 12. Perché "use overload" non funziona con "use namespace: autoclean"?
- 13. Executor e Daemon in Java
- 14. Case-insensitive switch-case
- 15. Rust "use" vs. C++ "utilizzando namespace"
- 16. Efficient Python Daemon
- 17. Stop Erlang Daemon
- 18. Processo daemon Android
- 19. Git Daemon Hang SO_KEEPALIVE
- 20. EventBus use, memoria e architettura
- 21. Django-Use of unicode
- 22. USE MULTIPLE LEFT JOIN
- 23. "use" istruzione php multiple?
- 24. emacs gud window use
- 25. "use strict" in javascript
- 26. Daemon multiprocesso non terminato sull'uscita principale
- 27. switch/case all'interno di uno switch/case
- 28. Omettendo "Case" da "Seleziona ... Case" Dichiarazione
- 29. Connetti due daemon in python
- 30. Un Daemon on the Rocks
@ user976025 il tuo post dovrebbe essere contrassegnato come wiki della comunità, in quanto è soggetto a discussione invece di richiedere una risposta precisa e definita. –