Eseguire un file lock in Java
Ci sono varie motivazioni per voler eseguire un file lock, come ad esempio evitare che qualcuno scriva su un file che stiamo leggendo.
Oppure per evitare di eseguire operazioni sullo stesso file in ambito multi-thread.
Oggi vediamo come eseguire questa operazione in Java; il tutto avviene tramite la classe FileChannel che ha disposizione due metodi, che ritornano entrambi un FileLock:
- lock() --> acquisisce un lock esclusivo su tutto il file
- lock(long position, long size, boolean shared) --> acquisisce un lock esclusivo su una porzione del file
- tryLock() --> tenta di acquisire un lock esclusivo su tutto il file
- tryLock(long position, long size, boolean shared) --> acquisisce un lock esclusivo su una porzione del file