送分 问个线程安全的有关问题

送分 问个线程安全的问题
在多线程里面访问一个全局变量是不是安全的?
会不会一个线程里面改变了这个变量以后另一个线程读到的还是原来的值?

------解决方案--------------------
可能,所以要volatile还要lock
------解决方案--------------------
多线程主要就是无法获知线程的运行顺序。所以要想办法控制。

------解决方案--------------------
这就要看你的平台提供了哪些同步功能
------解决方案--------------------
探讨

怎么lock呢?

------解决方案--------------------
最好不要用全局变量 麻烦会很多 线程控制比较难 无规则切换
------解决方案--------------------
用信号量来保护
C/C++ code

#include <semaphore.h>

static pthread_mutex_t  mutex_frameRing;

pthread_mutex_lock(&mutex_frameRing);
  ...
pthread_mutex_unlock(&mutex_frameRing);

------解决方案--------------------
互斥, 读写锁,信号量,同步 

等等