Originariamente inviato da Fusic86
Ho un dubbio riguardante la mutua esclusione delle operazioni.
Operazioni di scrittura, come l'incremento di una variabile, sono atomiche di default?
No. I tipi atomici che garantiscono lettura e scrittura atomica dipendono dalla piattaforma e dal linguaggio. Ad esempio, in C su macchine a 32 bit l'incremento di una variabile a 64 bit tipicamente non è atomico.
Può succedere che 2 o + processi incrementino nello stesso momento una determinata variabile?
Sì (ovviamente se il blocco di memoria in questione è condiviso ).
Nel mio programma ho una variabile saldo(di un processo fornitore), che viene incrementata dai processi figli ogni volta che questi terminano la gestione di un ordine. Devo prevedere qualche meccanismo di mutua esclusione?
Sì (anche se potrebbe essere non necessario, come detto sopra dipende dalla piattaforma e dal tipo di dato usato).