sto facendo un programma che usa dei file di testo per salvare/leggere delle informazioni: il problema è che devo usare il multithreading visto che devo fare più cose contemporaneamente.
(in realtà è un server che crea dei thread, ma fa lo stesso)

Un thread deve aprire un file modificarlo e richiuderlo.

Un altro thread deve invece leggere e basta dal quello stesso file e poi aggiornare una lista su una GUI.

Come posso fare in modo che non si sovrappongono le due cose? Cioè quando uno dei due accede al file, l'altro deve stare fermo.


Grazie