migrazione verso gitea
This commit is contained in:
39
docs/flows/async_loop_singleton_flow.md
Normal file
39
docs/flows/async_loop_singleton_flow.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# `async_loop_singleton.py`
|
||||
|
||||
## Scopo
|
||||
|
||||
Questo modulo mantiene un loop asyncio globale e condiviso, eseguito su un
|
||||
thread dedicato.
|
||||
|
||||
## Flusso
|
||||
|
||||
```{mermaid}
|
||||
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
|
||||
|
||||
```{mermaid}
|
||||
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.
|
||||
Reference in New Issue
Block a user