读书人

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

发布时间: 2012-04-05 12:42:40 作者: rapoo

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

[解决办法]
可能,所以要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);
[解决办法]
互斥, 读写锁,信号量,同步

等等

读书人网 >C语言

热点推荐