PDA

Visualizza la versione completa : [*] Threads: accesso alla stessa lista in modo sincronizzato


daniele_dll
28-11-2005, 13:32
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 :zizi:

alka
28-11-2005, 13:57
In quale linguaggio di programmazione? O è indifferente?

daniele_dll
28-11-2005, 15:05
sarebbe in C#

... ma in realtà non ne sono sicuro al 100%

potrebbe anche essere C

per questo non ho messo il linguaggio nel titolo :)

comunque a me interessa in linea generale non per lo specifico linguaggio ... teoricamente dovrebbe essere +/- uguale

Loading