Sezione critica: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Orfanizzo Java (linguaggio) |
|||
Riga 3:
== Motivazione ==
Quando flussi diversi accedono ad una risorsa comune in tempi diversi, ognuno di essi può completare la propria operazione (lettura o scrittura) senza essere "disturbato" dagli altri. Se questa condizione vale ''sempre'' per una certa risorsa, allora si dice che la lettura e la scrittura su quella risorsa sono ''operazioni atomiche'': ogni flusso può intervenire solo prima o dopo che l'altro
Ad esempio, un programma per la copia di file potrebbe essere implementato con due thread: uno che copia i byte dal disco di origine verso la memoria RAM, e l'altro che contemporaneamente preleva i byte dalla memoria e li scrive nel disco di destinazione. Questo programma ottiene un vantaggio in velocità, perché sovrappone tra loro i [[tempo di latenza|tempi di latenza]] per l'accesso ai dischi, in modo che nessuno dei due risulti bloccato (quindi inutilizzato) a causa dell'altro.
|