ISBN: | 978-5-5136-0708-3 |
High Quality Content by WIKIPEDIA articles! In computer science, the compare-and-swap (CAS) CPU instruction is a special instruction that atomically compares the contents of a memory location to a given value and, only if they are the same, modifies the contents of that memory location to a given new value. The atomicity guarantees that the new value is calculated based on up-to-date information; if the value had been updated by another thread in the meantime, the write would fail. The result of the operation must indicate whether it performed the substitution; this can be done either with a simple Boolean response (this variant is often called compare-and-set), or by returning the value read from the memory location (not the value written to it). In the x86 and Itanium architectures this is the compare and exchange (CMPXCHG) instruction, though here the lock prefix should be there to make it really atomic.