开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 742|回复: 18
收起左侧

[完成] 这个demo代码是线程安全的吗?

 关闭 [复制链接]
结帖率:93% (74/80)
发表于 2024-3-2 05:23:02 | 显示全部楼层 |阅读模式   北京市北京市
30精币
各位老师帮我看下中间的这个代码(我框出来了)   

1.如果只用判断循环 不加许可区是否会出现线程安全问题?
昨天晚上测试程序好像因为程序没有加许可区  貌似导致了中间的程序出现了多线程混乱问题

因为我框出来的这段代码会出现  方法调方法   和   网页_访问_对象  昨晚貌似程序执行混乱了

然后我加了许可区
2.帮我看下加上许可区是不是多次一举呀  但是我断点调试我的程序都是没问题的  昨天突然运行出现bug我怀疑是多线程的问题所以想着加上。
请大家看看这做法是否是多次一举  还是  我程序bug根本和外面的这个框架代码无关   谢谢各位大佬

111.png

最佳答案

查看完整内容

针对局部变量无需加锁, 访问网络一般来说无需加锁, 除非特殊情况只允许同一时段一条访问

签到天数: 9 天

发表于 2024-3-2 05:23:03 | 显示全部楼层   河北省张家口市
曼巴精神8 发表于 2024-3-2 13:26
我的判断循环首里面有网络访问  还有各种复杂操作 针对局部变量

针对局部变量无需加锁,  访问网络一般来说无需加锁, 除非特殊情况只允许同一时段一条访问

评分

参与人数 1荣誉 +1 收起 理由
笨潴 + 1 热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!

查看全部评分

回复

使用道具 举报

结帖率:100% (53/53)
发表于 2024-3-2 05:28:01 | 显示全部楼层   福建省宁德市
只要是:启动线程() 或相关创建线程 执行的函数,使用许可区就是安全的



回复

使用道具 举报

签到天数: 9 天

发表于 2024-3-2 08:41:50 | 显示全部楼层   河北省张家口市
你这样做安全是安全, 但是没必要啊, 线程都列队执行, 跟单线程没啥区别了
回复

使用道具 举报

结帖率:83% (10/12)

签到天数: 21 天

发表于 2024-3-2 09:53:33 | 显示全部楼层   河南省商丘市
没错,是安全的
回复

使用道具 举报

结帖率:100% (10/10)

签到天数: 21 天

发表于 2024-3-2 12:50:47 | 显示全部楼层   湖南省永州市
两个原则,线程里面能用局部变量的,不用全局或者程序集变量。线程里面对公共资源进行读写操作的,一定要加许可。只读不写,可以不加。存在多个公共资源的,看情况适当的增加许可的数量
回复

使用道具 举报

结帖率:93% (74/80)

签到天数: 3 天

 楼主| 发表于 2024-3-2 13:00:27 | 显示全部楼层   北京市北京市
houtian 发表于 2024-3-2 08:41
你这样做安全是安全, 但是没必要啊, 线程都列队执行, 跟单线程没啥区别了

老哥  我昨晚用你上次  没加许可区的代码  凌晨4点程序突然出错了  我半天找不到原因  
回复

使用道具 举报

结帖率:93% (74/80)

签到天数: 3 天

 楼主| 发表于 2024-3-2 13:26:03 | 显示全部楼层   北京市北京市
houtian 发表于 2024-3-2 08:41
你这样做安全是安全, 但是没必要啊, 线程都列队执行, 跟单线程没啥区别了

我的判断循环首里面有网络访问  还有各种复杂操作 针对局部变量
回复

使用道具 举报

结帖率:93% (74/80)

签到天数: 3 天

 楼主| 发表于 2024-3-2 13:39:47 | 显示全部楼层   北京市北京市
houtian 发表于 2024-3-2 13:31
针对局部变量无需加锁,  访问网络一般来说无需加锁, 除非特殊情况只允许同一时段一条访问 ...

是无锁的  我感觉程序像是两个线程在判断循环 里面来回先后执行 现在还没找到原因  用的都是局部变量
回复

使用道具 举报

签到天数: 9 天

发表于 2024-3-2 13:43:06 | 显示全部楼层   河北省张家口市
曼巴精神8 发表于 2024-3-2 13:39
是无锁的  我感觉程序像是两个线程在判断循环 里面来回先后执行 现在还没找到原因  用的都是局部变量{:5_ ...

比如三个线程A,B,C, 你现在的程序运行的样子基本是这样ABCABC... 跟上厕所一样, 一个人上完出去排队的人才能进去一个
回复

使用道具 举报

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

本版积分规则 致发广告者

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

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

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