开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 2995|回复: 5
收起左侧

[大家谈谈] 碰到个神坑问题

[复制链接]
结帖率:94% (60/64)
发表于 2020-11-16 17:56:42 | 显示全部楼层 |阅读模式   江苏省南京市
最近写了个多线程模板  线程开到100以上就无顾闪退或奔溃  内存也稳定 并没有高出多少

一直以为js引擎问题  改js改代码 改来改去 问题还是不断

突发奇想

鱼刺 原子递增 操作程序集 及全局变量  是否会出问题

理论操作原子变量无需加锁,各种百d 查阅资料 得出的都是无需加锁  

但是问题就是有  随后就改了原子为 许可证 及相加方式

咦  神奇的事情发生了   内存少了一半 且 运行一个多小时了 都没出现闪退 及 奔溃

之前线程开到200  几分钟必死

目前仍稳定运行中   那么问题来了  

原子操作 是否需要加锁?

结帖率:97% (29/30)

签到天数: 8 天

发表于 2020-11-16 19:23:26 | 显示全部楼层   黑龙江省哈尔滨市
一直在用鱼刺多线程模块的 原子递增 没加锁开几百线程没崩过

点评

我说的是长时间运行 嘻嘻   黑龙江省哈尔滨市  发表于 2020-11-16 19:23
回复 支持 反对

使用道具 举报

结帖率:83% (34/41)

签到天数: 16 天

发表于 2020-11-16 18:54:06 | 显示全部楼层   四川省成都市
原子不用加锁!

道理其实简单,

一个公共厕所,只有3个坑位,

三个坑位都有人,第四个人非要进去瞎搅和。就会出现各种问题。。。此处自行脑补~~~

其他现实社会也同理,一辆汽车,只有一个驾驶位,如果上去2个司机,车都没法开了~~

但是不管是厕所坑位问题,还是驾驶位问题!

咱们都可以用肉眼去看坑位是否被占,可以肉眼开驾驶室的一切物体!

也就是,多线程中,同时读,是没有问题的!

但是同时写,就不行了。懂了把。有些事情,只能排队,因为资源就那么一个,多了,就要出问题了!
回复 支持 反对

使用道具 举报

结帖率:80% (4/5)

签到天数: 4 天

发表于 2020-11-16 18:17:05 | 显示全部楼层   湖南省长沙市
tdsgj12345 发表于 2020-11-16 18:03
模块的原子锁不是绝对线程安全的,大部分人说局部变量不要加锁(或者许可证),这个也不是绝对线程安全的, ...

局部变量还要加锁? 其他线程不用局部变量的内存地址 也操作不到啊
回复 支持 反对

使用道具 举报

结帖率:67% (4/6)
发表于 2020-11-16 18:03:48 | 显示全部楼层   江苏省无锡市
模块的原子锁不是绝对线程安全的,大部分人说局部变量不要加锁(或者许可证),这个也不是绝对线程安全的,本人亲测在特殊情况下都会出错。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

关闭

精易论坛 - 有你更精彩上一条 /2 下一条

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备2025452707号) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表