Loading AI tools
problematica dell'ordinamento temporale di operazioni Da Wikipedia, l'enciclopedia libera
In informatica, la sincronizzazione è la problematica dell'ordinamento temporale di operazioni.
Se tutte le operazioni sono eseguite in serie, il problema della sincronizzazione non sussiste. Tuttavia, spesso, per sfruttare meglio il sistema e quindi accelerare le elaborazioni, si ricorre al parallelismo, che consiste nell'iniziare più flussi di esecuzione contemporanei (vedi multithreading). Fintanto che le operazioni eseguite in parallelo usano parti distinte del sistema, non ci sono problemi, ma, quando due componenti hardware o software operano in parallelo sulla stessa parte del sistema, si può avere un conflitto.
Il codice che può essere eseguito solo da un processo alla volta (perché contiene dati condivisi, accesso a risorse, ecc.) si chiama sezione critica.
Alcuni conflitti si possono risolvere semplicemente garantendo la mutua esclusione, cioè serializzando gli accessi, nel senso che il primo che deve operare nella parte comune la blocca, vi opera, e infine la sblocca, e il secondo, quando la trova bloccata, si ferma in attesa che sia sbloccata. La mutua esclusione è il tipo più semplice di sincronizzazione ed è realizzabile mediante monitor, lock o semafori.
Per evitare altri tipi di conflitti sono necessarie forme più complesse di sincronizzazione.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.