开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 1220|回复: 11
收起左侧

[已解决] 无聊好奇一个关于许可证的疑问

 关闭 [复制链接]
结帖率:93% (184/198)
发表于 2022-7-6 09:24:44 | 显示全部楼层 |阅读模式   广西壮族自治区南宁市
14精币
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
许可线程许可证  

子程序名返回值类型公开备 注
__启动窗口_创建完毕  
许可 = 线程_创建许可证 ()
线程_启动 (&子程序1, 1)
线程_启动 (&子程序2, 2)
子程序名返回值类型公开备 注
子程序1  
参数名类 型参考可空数组备 注
哈哈整数型
线程_进入许可区 (许可)
标签1.标题 = 到文本 (哈哈)
线程_退出许可区 (许可)
线程_进入许可区 (许可)
标签2.标题 = 到文本 (哈哈)
线程_退出许可区 (许可)
线程_进入许可区 (许可)
编辑框1.内容 = 到文本 (哈哈)
线程_退出许可区 (许可)
子程序名返回值类型公开备 注
子程序2  
参数名类 型参考可空数组备 注
哈哈整数型
线程_进入许可区 (许可)
标签1.标题 = 到文本 (哈哈)
线程_退出许可区 (许可)
线程_进入许可区 (许可)
标签2.标题 = 到文本 (哈哈)
线程_退出许可区 (许可)
线程_进入许可区 (许可)
编辑框1.内容 = 到文本 (哈哈)
线程_退出许可区 (许可)
这是我刚刚为了表达清晰点写的一个例子
意思就是,多个线程多个窗口组件在被赋值的时候,可以使用同一个许可证吗

最佳答案

查看完整内容

非要这样比喻的话 差不多是这意思 比如你有7个女朋友 7个女朋友就是七个线程 你就是这个组件 男二号(矮穷搓没你帅)是另外一个组件 那假入周一到周五是5个许可区 在周一这个许可区内。你的女朋友去找你玩一天,她能不能同时来找男二号这个组件 答案显然是不能 她要找男二号是不是得换个许可区(换周二等等) 并不是说不能找,但是找了就有点乱 你们会干架对不对 这种例子还是不要举的好 不是很好的习惯 没有能完全形象贴切的 ...

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值

结帖率:100% (6/6)
发表于 2022-7-6 09:24:45 | 显示全部楼层   湖南省张家界市
ai185704529 发表于 2022-7-6 11:40
就像2楼说的,一个许可证就相当于一把钥匙,一个组件相当于一个房间,多个线程就相当于多个人,进入这个 ...

非要这样比喻的话
差不多是这意思

比如你有7个女朋友
7个女朋友就是七个线程
你就是这个组件
男二号(矮穷搓没你帅)是另外一个组件

那假入周一到周五是5个许可区
在周一这个许可区内。你的女朋友去找你玩一天,她能不能同时来找男二号这个组件
答案显然是不能
她要找男二号是不是得换个许可区(换周二等等)

并不是说不能找,但是找了就有点乱 你们会干架对不对


这种例子还是不要举的好 不是很好的习惯 没有能完全形象贴切的比喻

代码的事就在代码里面理解+解决 就像我给你的上一个回复 简单两句话 原则上该怎样就怎样








评分

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

查看全部评分

回复

使用道具 举报

签到天数: 31 天

发表于 2022-7-6 09:25:36 | 显示全部楼层   上海市上海市
可以同一个许可证
回复

使用道具 举报

结帖率:100% (13/13)
发表于 2022-7-6 09:58:15 | 显示全部楼层   山东省淄博市
可以的 当一个线程进入许可证的时候,其他线程必须等进入许可证的线程退出后才可以进入,所以可以直接在代码头部和尾部分别放入进入许可证和退出许可证就可以了。
回复

使用道具 举报

结帖率:100% (7/7)
发表于 2022-7-6 10:04:48 | 显示全部楼层   四川省成都市
组件比作房间里的物品,一个许可证比作一个只许一人在的房间,多个人比作多个线程,使用多个许可证,那就是有多个开门的钥匙。。。如果只有一件房间里的物品应该使用一把钥匙,如果有多个物品应该使用多个房间。。比如人1需要进使用筷子,人2需要进屋使用板凳,物品在一个房间,又只准一人在房间。。那就白白增加了时间成本。。所以应该合理使用房间(许可证),当然这里多开的房间代表多的消耗,但是节约了时间
回复

使用道具 举报

结帖率:100% (6/6)
发表于 2022-7-6 10:25:35 | 显示全部楼层   湖南省张家界市
不可以

组件使用许可区:
1.不能在主线程进入
2.切忌共用许可区(一夫一妻制),不是说共用了就跑步起来,迟早出问题

否则多线程下极易导致界面卡死 冲突

昨天问答区一个一模一样的问题
回复

使用道具 举报

结帖率:100% (35/35)

签到天数: 26 天

发表于 2022-7-6 10:37:39 | 显示全部楼层   广东省汕尾市
肯定要用同一个许可证啊,因为多线程并发运行,如果不是同个许可证,各自用各自的,那就等于没有许可证了,白写了
但是许可证如果用得不恰当,迟早会发生卡死的情况。
根据我多年的经验,多个许可证之间不要嵌套使用,否则很容易发生互相等待的问题导致卡死。
什么是嵌套使用,比如有许可证A和B, 线程1进入了A,线程B进入了B,然后A又用到了B的子程序,B用到了A的子程序,都在互相等待对方先退出,这样直接就卡死
所以如果你是刚使用它,而且对效率的要求不是特别特别高的话,我建议少用多个许可证,甚至全局一个就可以,先这样开始
我一开始进过坑,卡得程序直接懵逼,修正了好久才知道问题所在。

还有一种就是主线程里和子线程,用同一个许可证,也容易卡死。
有很多方法可以解决,如果你遇到了类似的烦恼,可以回复详情情况解决


补充内容 (2022-7-6 10:40):
1.不要有互相嵌套的许可区
2.主线程和子线程用同一个许可证,容易发生界面卡死问题
回复

使用道具 举报

结帖率:93% (184/198)
 楼主| 发表于 2022-7-6 11:27:56 | 显示全部楼层   广西壮族自治区南宁市
Siempre 发表于 2022-7-6 10:25
不可以

组件使用许可区:

有的说可以,有的说不可以,给我整懵逼了
回复

使用道具 举报

结帖率:100% (6/6)
发表于 2022-7-6 11:37:30 | 显示全部楼层   湖南省张家界市
ai185704529 发表于 2022-7-6 11:27
有的说可以,有的说不可以,给我整懵逼了

多试试就知道了
问题很容易试出来的

多个组件(也就是你说的 --多个线程多个窗口组件)原则上不能共用同一个许可证
单一的组件才必须共用一个许可证,否则相当于没用许可证

很简单的道理

有的没明白你的意思
回复

使用道具 举报

结帖率:93% (184/198)
 楼主| 发表于 2022-7-6 11:40:53 | 显示全部楼层   广西壮族自治区南宁市
Siempre 发表于 2022-7-6 11:37
多试试就知道了
问题很容易试出来的

就像2楼说的,一个许可证就相当于一把钥匙,一个组件相当于一个房间,多个线程就相当于多个人,进入这个许可证,必须要等A线程用完了,B才能用,这样理解可以吗
回复

使用道具 举报

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

本版积分规则 致发广告者

关闭

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

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

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

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