999 B
999 B
async_loop_singleton.py
Scopo
Questo modulo mantiene un loop asyncio globale e condiviso, eseguito su un thread dedicato.
Flusso
flowchart TD
A["Chiamata a get_global_loop()"] --> B{"Loop gia presente?"}
B -- Si --> C["Ritorna loop esistente"]
B -- No --> D["Crea Event ready"]
D --> E["Avvia thread daemon"]
E --> F["_run()"]
F --> G["new_event_loop()"]
G --> H["set_event_loop(loop)"]
H --> I["ready.set()"]
I --> J["loop.run_forever()"]
J --> K["Ritorna loop al chiamante"]
Chiusura
flowchart TD
A["stop_global_loop()"] --> B{"Loop attivo?"}
B -- No --> C["Nessuna azione"]
B -- Si --> D["call_soon_threadsafe(loop.stop)"]
D --> E["join del thread"]
E --> F["Azzera riferimenti globali"]
Note
- E un helper minimale usato da
main.py. - Il modulo esiste separato da
gestione_aree_frame_async.py, ma concettualmente svolge lo stesso ruolo di gestione del loop condiviso.