Domanda

Che differenza fa quando imposto un thread Python come demone, usando thread.setDaemon (True) ?

È stato utile?

Soluzione

Un thread daemon non impedisce la chiusura dell'applicazione. Il programma termina quando tutti i thread non daemon (thread principale incluso) sono completi.

Quindi, in generale, se stai facendo qualcosa in background, potresti voler impostare il thread come demone in modo da non dover esplicitamente restituire la funzione di quel thread prima che l'app possa uscire.

Ad esempio, se si sta scrivendo un'applicazione GUI e l'utente chiude la finestra principale, il programma dovrebbe chiudersi. Ma se hai dei thread non daemon in giro, non lo farà.

Dai documenti: http://docs.python.org/ biblioteca / threading.html # threading.Thread.daemon

  

Il suo valore iniziale è ereditato da   il thread di creazione; il filo principale   non è un thread demone e quindi   tutti i thread creati nel thread principale   predefinito daemon = falso.

     

L'intero programma Python termina quando   non sono rimasti thread non attivi daemon.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top