02-29-2016, 08:12 PM
02-29-2016, 08:15 PM
02-29-2016, 08:24 PM
When you do an addition (let's say + 1), you do it in 3 step.
1/ load the value in memory
2/ you do the +1
3/ you store the result in memory
A program can stop at 1 or 2, execute plenty of operation and then resume. Unfortunately data could be corrupted. Atomic is just way to block everyone and to guarantee that you can't split the above example in 3 steps.
From PCSX2 point of view, it justs a way to replace old API with the new one from the C++11 standard. This way it works the same on linux/windows and 32b/64b.
1/ load the value in memory
2/ you do the +1
3/ you store the result in memory
A program can stop at 1 or 2, execute plenty of operation and then resume. Unfortunately data could be corrupted. Atomic is just way to block everyone and to guarantee that you can't split the above example in 3 steps.
From PCSX2 point of view, it justs a way to replace old API with the new one from the C++11 standard. This way it works the same on linux/windows and 32b/64b.
02-29-2016, 08:33 PM
Headache incoming !
Thanks for the infos.
Thanks for the infos.