开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 13385|回复: 43
收起左侧

[分享] 多线程,全局变量,许可证三者关系扫盲(转载)

[复制链接]

结帖率:100% (1/1)
发表于 2014-6-13 15:02:54 | 显示全部楼层 |阅读模式   河南省郑州市
本帖最后由 半夏时光 于 2014-6-26 12:10 编辑

很多新人对于多线程都怀有一种恐惧,觉得怎样也用不好,莫名其妙就出错。其实大可不必。今天给大家介绍一下易语言多线程中许可证的作用。

相信大家或多或少都接触过,用多线程操作一个全局变量。通常我们需要加许可证,但是新手往往不知道在哪里加,许可证的意义又是什么。
这里我抛开传统的说教式一大堆头晕脑胀的道理,我只给你讲个故事。

话说从前有个五品大学士,学问非常好,跟皇上关系也还过得去,可惜一直没有子女。后来夫人不辞辛苦烧香拜佛,终于老来得女,夫妻俩当作掌上明珠一样养到了十六岁,到十六岁这一年,大学士因为卷入党争被皇上一刀砍了,好在皇上多少顾念点旧情,没有再祸及他的家人。可是毕竟树倒猢狲散,老夫妻俩又没有儿子,老学士生前又有些清高,对家中仆人也是不假辞色。结果家中仆人欺她孤女寡母,短短几天时间纷纷卷了珠宝走得一个不剩。
母女俩好歹收殓了大学士,发现这个情况,不由悲从心来,结果老夫人日夜悲伤哭瞎了双眼,又急火攻心瘫在了床上。家中无米无柴,为了赡养老妇人,这女孩一咬牙终于低头走进了生香楼。

这一入青楼深似海,感觉自己萌萌哒,于是就向妈妈桑提出了一个要求,说我确实需要钱,但是我还是希望有一点规矩。把规矩一说,却跟那老鸨的想法一拍即合,原来那老鸨自然深知请客不如钓客,偷不如偷不着的道理,于是把她好好打扮了一番,起名红豆,让她独自站在全楼最高处,同时列出了规矩:
生香楼虽然是个广接宾客的地方(允许多线程),但是红豆姑娘作为全楼唯一的头牌(全局变量),来往客人必须遵守以下规矩:
1 在她面前设置了一道珠帘(全局变量 珠帘 = 创建进入许可证);
2 每次只允许一位客人进入(进入许可证);
3 二人交流一番后客人退出(退出许可证);
4 所有客人都得走这一道珠帘,只要里面有客人,所有客人必须都在门口等着,直到出来为止(多线程遇到许可证的时候堆积线程)。
于是,整个生香楼的运作情况是这样:
话说有这么一个书生,同时点了春香和秋竹,一起听着小曲吃着茶点,忽然想到了一首绝妙好词想要跟红豆分享,于是他赶走了春香秋竹,撤了茶点洗净了手,喊了一声“进入许可证(珠帘)”,也没人应和他,他自己还是规规矩矩等在了顶楼珠帘外。看到珠帘一直是合着的状态,倒也不急,身后也陆续有了其它人等着(线程堆积)。直到前面一个人也出来,珠帘变成了挑开的状态,于是他对旁边挑帘的丫鬟微微一笑,随手甩出一颗银粒,然后正了正衣冠,骄傲的回头看了一眼排队的人群,昂首走进了香闺。
事毕走出珠帘,喊了一声“退出许可证(珠帘)”,此时其它等待的客人一拥而上,终于又被另一位喊的“进入许可证”得到了允许,才进去。书生微微一笑,心满意足的下楼离开了这烟花之地。







在易语言中,这个例程实际上是这样(源码截图):

总结:
许可证并不是针对线程的,也不是针对某个变量的,而是本身就是个独立的全局变量,他就是自己孤零零的摆在那,只起到一个开关的作用。

点评

我最佩服的不是文采也不是学问,而是鼠标画的那幅画   广西壮族自治区北海市  发表于 2018-12-13 19:51
你真他娘的是个淫才,可以老哥我服你   浙江省丽水市  发表于 2018-7-23 07:52

评分

参与人数 3好评 +3 精币 +4 收起 理由
上下左右空格 + 1 + 1 奉上小小红包希望笑纳
寻找星空 + 1 + 1 不错,送上小小红包。
柠萌 + 1 + 2 感谢分享,很给力!~

查看全部评分

签到天数: 22 天

发表于 2014-6-13 15:03:22 | 显示全部楼层   广东省揭阳市
专业沙发一百年
回复 支持 反对

使用道具 举报

结帖率:90% (9/10)
发表于 2014-6-13 15:08:18 | 显示全部楼层   广东省江门市
专业打酱油5秒
回复 支持 反对

使用道具 举报

结帖率:90% (64/71)
发表于 2014-6-13 15:12:40 | 显示全部楼层   河南省信阳市
你不是睡觉了吗 @半夏时光

点评

这就去睡觉。。   河南省焦作市  发表于 2014-6-13 15:18

评分

参与人数 1精币 +5 收起 理由
半夏时光 + 5 奉上小小红包希望笑纳

查看全部评分

回复 支持 反对

使用道具 举报

结帖率:100% (7/7)
发表于 2014-6-13 15:22:44 | 显示全部楼层   广东省深圳市
好久没看到这么风趣幽默通俗易懂的文章啦。
回复 支持 反对

使用道具 举报

结帖率:100% (32/32)
发表于 2014-6-13 15:27:42 | 显示全部楼层   陕西省西安市
写的不错哦~~
回复 支持 反对

使用道具 举报

结帖率:100% (20/20)

签到天数: 20 天

发表于 2014-6-13 15:31:21 | 显示全部楼层   山东省青岛市
好  通俗易懂啊  真是人才啊
回复 支持 反对

使用道具 举报

结帖率:100% (3/3)
发表于 2014-6-13 15:35:46 | 显示全部楼层   广东省揭阳市
专业顶帖500年!继续顶帖
回复 支持 反对

使用道具 举报

结帖率:93% (66/71)

签到天数: 5 天

发表于 2014-6-13 15:47:55 | 显示全部楼层   福建省福州市
不错支持一个.好久没到类似的教程了。求大神再写 互斥体 原子锁 信号量  
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2014-6-13 15:54:16 | 显示全部楼层   河南省南阳市
刚在官论看了。写的还行。
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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