Two sections ( history
and available implementation
) in https://en.wikipedia.org/wiki/Transactional_memory lists hardwares (as well as software, like programming languages) that supports transactional memory.
The list might not be exhaustive though.
One primary difference between locks and atomic code blocks is that only one thread can be in the critical section which is protected by a particular lock while many threads are allowed to be within an atomic block, but only one thread will have the ability to commit at a time.
From what I understand, lock/unlock describes one way to implement atomic blocks (by blocking out competing threads), but atomic code blocks represent the concept that only one thread can run the actual code within the block at a given time.
Please log in to leave a comment.
Would be good to also know examples of hardware that offers Transactional Memory.