社区
进程/线程/DLL
帖子详情
关于多线程访问安全性问题
一个程序员的修炼之路
2012-04-16 09:47:09
有一个线程函数:
void FUN(...)
{
while(bFlag)
{
...
}
}
还有一个终止线程的函数:
void StopThread()
{
bFlag = FALSE;
}
我的问题:需要对bFlag变量进行加锁访问吗? 为什么?
...全文
181
10
打赏
收藏
关于多线程访问安全性问题
有一个线程函数: void FUN(...) { while(bFlag) { ... } } 还有一个终止线程的函数: void StopThread() { bFlag = FALSE; } 我的问题:需要对bFlag变量进行加锁访问吗? 为什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ouyh12345
2012-04-16
打赏
举报
回复
不需要
tao_fuqiang
2012-04-16
打赏
举报
回复
不用加锁
小马喝水
2012-04-16
打赏
举报
回复
这个要看需求,如果是对这个控制的精度要求很精确的场合就要加锁,一般情况下就不用了
BombZhang
2012-04-16
打赏
举报
回复
不需要
一个程序员的修炼之路
2012-04-16
打赏
举报
回复
补充下:bFlag就只有在此两处访问
ok1234567
2012-04-16
打赏
举报
回复
只要是多线程共享的资源,就总是进行同步处理,是不是更简单呢?
不能保证依赖的前提总是成立,就像写表达式,多写几个括号,心里踏实(与其念叨优先级)
unituniverse2
2012-04-16
打赏
举报
回复
算了。。。说简单些吧:只要在两个线程都要读、且有至少一个线程写的场合,都要加锁或使用同步机制的
unituniverse2
2012-04-16
打赏
举报
回复
最好用原子操作。因为存在编译优化和多cache同步的问题。另外volatile 是一定要的。
编译优化:
如果没有volatile,你这个循环被编译器优化后可能变成这样:
void FUN(...)
{
if(bFlag)
{
J_Loop1:
...
goto J_Loop1;
}
}
因为编译器并不知道你的bFlag会被另一个线程修改。
如果在多处理器系统里,因为缓存是独立的,不像多核单处理器那样共享,假如你的两个线程被系统调度到不同的cpu上,那你修改的bFlag还是不会反映到FUN所在的线程。因为同一段内存地址反映在不同的线程的视图都不一样了
draracle
2012-04-16
打赏
举报
回复
没必要,如果你觉得不放心,可以考虑用volatile int申明,
然后用interlock系列函数访问即可。
向立天
2012-04-16
打赏
举报
回复
不用
访问控制是怕同时写发生错乱
你这个线程中只是读
所以没必要做控制
尹成Python27天入门到项目实战
多线程
实战
多线程
核心目标并发主线程与小弟线程
多线程
解决加速
多线程
的加速线程冲突基于类实现
多线程
基于类实现
多线程
的顺序与乱序互斥锁解决线程冲突死锁-使用锁要注意Rlock解决一个线程反复加锁单线程死锁创建...
【单机和分布式环境下的
多线程
并发
访问
的
安全性
问题
】
【
多线程
并发
访问
的
安全性
问题
】
多线程
并发
访问
的
安全性
问题
首先要知道的是:
多线程
安全性
问题
产生的原因是什么?
多线程
并发
访问
是指当多个线程无序的
访问
同一个共享资源时,这个线程就受到了“多个线程的并发...
Java
多线程
之线程安全
问题
Java
多线程
中的线程安全
问题
, 解决方法, 线程安全和不安全的标准类.
Java
多线程
安全
问题
和锁
多线程
安全
问题
和锁 文章目录
多线程
安全
问题
和锁线程在jvm中的特点锁的...线程安全机制用于保证多个线程
访问
数据时的一致性. 线程安全
问题
体现在三个方面: 1、原子性 2、可见性 3、有序性 原子操作是不可分割的,...
Java
多线程
之单例模式在
多线程
环境下的安全
问题
Java基础之单例模式在
多线程
环境下的安全
问题
目录: 单线程下的单例模式
多线程
下的单例模式 单例模式volatile分析 1. 单线程下的单例模式 1. 单线程下单例模式代码 public class SingletonDemo {...
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章