non so se il titolo è molto chiaro ma mi vorrei togliereun dubbio: se io ho una lista ed ho N thread che leggono ed inseriscono dati in questa lista ... che succede se più thread fanno un'operazione contemporaneamente?
e se eseguo il lock/unlock prima di leggere/scrivere nella lista i thread che vanno per leggere si mettono in attesa o ricevono errore?
oppure conviene avere un thread che spezza questa lista per i vari thread in modo da evitare inutili attese?
in pratica: mettiamo che ci sono 5 thread ... ogni thread avrà quindi due liste, una di lettura ed una di scrittura, ed un thread aggiuntivo che si occupa di recuperare i dati da queste liste, crearne una interna sua e smistare i dati di queste liste all'interno delle liste di lettura dei vari thread ... questo ogni, ad esempio, 1 decimo di secondo
siccome le liste si riempono velocemente perché il rapporto di lettura a scrittura potrebbe essere ad esempio 1:5 dopo i primi cicli di aggiornamento delle liste i thread non avranno più la lista vuota
...
che ne dite?
oppure conviene più un'unica lista di lettura/scrittura ed i vari thread che leggono/scrivono li? lockando e unlockando la lista?
danka![]()