Sto costruendo un programma che fa molte cose.
- Ascolta in una porta. Ogni secondo viene ricevuta una stringa
- Quando vengono ricevuti nuovi dati, devono essere registrati . Non sono consentiti errori o voci saltate
- Una volta ricevuti i dati, è necessario aggiornare un plot sullo schermo. Questo è un calcolo costoso. La mancanza di alcuni aggiornamenti non è critica.
- Una volta al mese viene chiamata una funzione archiviazione per eseguire il backup dei log. Questo potrebbe richiedere un tempo imprecisato.
Sono nuovo nel threading e vorrei chiedere consigli sull'infrastruttura di threading . Da un lato, sembra che io abbia bisogno di almeno 1 thread aggiuntivo oltre al thread principale, per il listener delle porte.
D'altra parte, temo che se crei troppi thread:
- potrebbero verificarsi problemi di sincronizzazione
- L'app potrebbe diventare affamata di risorse
Qui è un codice proposto per l'ascoltatore. * La complessità del codice potrebbe esplodere