Sto scrivendo un'applicazione di elaborazione della coda che utilizza thread per attendere e rispondere ai messaggi in coda da consegnare all'app. Per la parte principale dell'applicazione, ha solo bisogno di rimanere attivo. Per un esempio di codice come:Python: Passa o Sospendi per processi a esecuzione prolungata?
while True: pass
o
while True: time.sleep(1)
Quale avrà il minimo impatto su un sistema? Qual è il modo migliore per non fare nulla, ma mantenere in esecuzione un'applicazione Python?
La risposta corretta non è quella di fare il polling di I/O affatto. Vedi ad esempio la chiamata select(), dove il sistema operativo è in attesa fino a quando c'è qualcosa di pronto da leggere. –
Bene nel caso dei thread, stanno usando il blocco delle connessioni TCP in attesa sui messaggi. È solo il thread principale di cui sono preoccupato, e non fa nulla se non gestire le opzioni della riga di comando, leggere config e kick dei thread. –