在多线程并发编程中,互斥锁经常被用到,它能防止多线程同时访问临界区,并能保证临界区内存的可见性。本文将会学习C/C++的互斥锁(glibc的实现)是如何影响内存的可见性。
伪代码示例
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
| Global Variables : int a = 0, b = 0; |
| std::mutex mtx; |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
| Thread 1 | Thread 2 |
++++++++++++++++++++++++++++++++++++++++