SPRUI04F july 2015 – april 2023
Accesses to shared data objects must be protected within a critical region which prevents a second thread from entering the critical region of code while the first thread is accessing a shared data object. We also need to be concerned about data coherency between copies of shared data that may exist in both shared memory and in private data caches as mentioned above in Section 8.10.2.1.