Qualcuno potrebbe spiegarmi il funzionamento e le differenze delle operazioni di cui sopra in multi-threading?confronta e sostituisci con test e imposta
risposta
test-and-set
modifica il contenuto di una posizione di memoria e restituisce il suo vecchio valore come una singola operazione atomica.
compare-and-swap
confronta atomicamente il contenuto di una locazione di memoria per un determinato valore e, solo se sono uguali, modifica il contenuto di quella locazione di memoria di un dato nuovo valore.
La differenza contrassegnata in grassetto.
Test e set opera su un bit, confronta e sostituisce su un campo a 32 bit.
Il sistema z/TPF favorisce l'utilizzo dell'istruzione di test e set (TS) perché spesso gli indicatori di blocco sono bit impostati per controllare l'accesso alle aree critiche del codice di sistema. L'istruzione test e set (TS) richiede meno registri rispetto all'istruzione di confronto e scambio (CS) e richiede meno tempo di esecuzione perché è necessario impostare solo un singolo byte.
e, ho trovato questi materiali da: http://www.ibm.com/support/knowledgecenter/SSB23S_1.1.0.13/gtpc3/tasinst.html
si può imparare di più su TSL con il libro intitolato "sistema operativo moderno, Capitolo 2" ...
- 1. Come funziona "Confronta e imposta" in AtomicInteger funziona
- 2. Trova e sostituisci con JavaScript
- 3. stringa IndexOf e Sostituisci
- 4. Confronta JSON e BSON
- 5. Confronta GWT e Django?
- 6. Sostituisci preg_replace() e modificatore con preg_replace_callback
- 7. Sostituisci tabella vettoriale e hash con Boost.Bimap
- 8. Sostituisci citazione con fuga e preventivo
- 9. cerca e sostituisci con ruby regex
- 10. Corrispondenza Javascript e sostituisci con unicode
- 11. Trova e sostituisci stringa HTML con jQuery
- 12. Sed Trova e sostituisci con parentesi graffe
- 13. PHP Sostituisci e minuscolo
- 14. String Trova e sostituisci metodo
- 15. phpstorm regex cerca e sostituisci
- 16. Confronta mese mese e anno
- 17. Trova e sostituisci più file
- 18. Trova e sostituisci stringa in un file
- 19. Sostituisce getter con proprietà con Ricerca strutturale IntelliJ e Sostituisci
- 20. Cerca e sostituisci con Regex con le variabili sostitutive
- 21. Sostituisci in C# e sostituisci Tutto in Java
- 22. Test con Robolectric e ANT
- 23. Confronta TinyMCE e CKeditor per un Wiki
- 24. Imposta il codice di Devart Confronta come strumento di confronto e unione personalizzato in Sourcetree?
- 25. Perl confronta operatori e stringhe "numeri"
- 26. LINQ confronta due liste e rimuovi
- 27. Confronta data e datetime in Django
- 28. Vim - Cerca e sostituisci i risultati
- 29. Imposta TCP_QUICKACK e TCP_NODELAY
- 30. cerca e sostituisci per barra diretta
Dal 'compare-and-swap' fa più lavoro di 'test-and-set' ci vuole più tempo di' test-and-set'? – arunmoezhi
@arunmoezhi, dipende dall'implementazione. –
Potete per favore elaborare. Il motivo per cui sono interessato a questo è se test-and-set è più veloce allora posso modificare il mio algoritmo per usarlo invece di confrontare-e-swap – arunmoezhi