首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP设计模式之备忘录模式

备忘录,这个名字其实就已经很形象的解释了它的作用。典型的例子就是我们原来玩硬盘游戏时的存档功能。当你对即将面对的大BOSS有所顾虑时,一般都会先保存一次进度存档。如果挑战失败了,直接读取存档就可以恢复到挑战BOSS前的状态,然后你就开开心心的再去练一会级回来解决这个大BOSS就好了。不过,为了以防万一,在挑战BOSS之前存个档总是好的。另外一个例子就是我们码农们天天要用到的代码管理工具Git或者Svn了。每次的提交都像是一次存档备份,当新代码出现问题的时候,直接回滚恢复就行了。这些,都是备忘录模式的典型应用,下面就一起来看看这个模式吧。

04
您找到你想要的搜索结果了吗?
是的
没有找到

什么是同步?什么是异步?

同步就是比如你上学没钱了。想让父母转钱给你。期间你一直打电话。但是电话都是打不通。打了一天电话都打不通。就是说你这一天除了打电话之外,没有做其他事情这就是同步。 异步就是比如你上学没钱了。想让父母转钱给你。但是你打电话过去。发现打不通,猜想:对方可能在忙,暂时无法接听电话,所以你发了一条短信(或者语音留言,亦或是其他的方式)通知对方后便忙其他要紧的事了;这时你就不需要持续不断的拨打电话,还可以做其他事情;待一定时间后,对方看到你的留言便回复响应你,当然对方可能转钱也可能不转钱。但是整个一天下来,你还做了很多事情。 或者说你找室友临时借了一笔钱,又开始happy的上学时光了。

02

异步和同步的区别

”同步“就好比:你去外地上学(人生地不熟),突然生活费不够了;此时你决定打电话回家,通知家里转生活费过来,可是当你拨出电话时,对方一直处于待接听状态(即:打不通,联系不上),为了拿到生活费,你就不停的oncall、等待,最终可能不能及时要到生活费,导致你今天要做的事都没有完成,而白白花掉了时间。 “异步”就是:在你打完电话发现没人接听时,猜想:对方可能在忙,暂时无法接听电话,所以你发了一条短信(或者语音留言,亦或是其他的方式)通知对方后便忙其他要紧的事了;这时你就不需要持续不断的拨打电话,还可以做其他事情;待一定时间后,对方看到你的留言便回复响应你,当然对方可能转钱也可能不转钱。但是整个一天下来,你还做了很多事情。 或者说你找室友临时借了一笔钱,又开始happy的上学时光了。 简而言之,言而总之:同步就是我强依赖你(对方),我必须等到你的回复,才能做出下一步响应。即我的操作(行程)是顺序执行的,中间少了哪一步都不可以,或者说中间哪一步出错都不可以,类似于编程中程序被解释器顺序执行一样;同时如果我没有收到你的回复,我就一直处于等待、也就是阻塞的状态。 异步则相反,我并不强依赖你,我对你响应的时间也不敏感,无论你返回还是不返回,我都能继续运行;你响应并返回了,我就继续做之前的事情,你没有响应,我就做其他的事情。也就是说我不存在等待对方的概念,我就是非阻塞的。 从上面的例子来看:同步似乎等价于阻塞,异步则等价于非阻塞。其实有些狭义,但不可否认的是,在一定情况下,确实可以这么认为;因为同步一定存在着阻塞状态,而异步一定不存在非阻塞的状态。 但是不是就是说 同步调用 == 阻塞调用呢?然并不是;阻塞和非阻塞强调的是程序在等待调用结果(消息,返回值)时的状态.  阻塞调用是指调用结果返回之前,当前线程会被挂起。调用线程只有在得到结果之后才会返回。非阻塞调用指在不能立刻得到结果之前,该调用不会阻塞当前线程。 对于同步调用来说,很多时候当前线程还是激活的状态,只是从逻辑上当前函数没有返回而已,即同步等待时什么都不干,白白占用着资源。同步和异步强调的是消息通信机制 (synchronous communication/ asynchronous communication)。所谓同步,就是在发出一个”调用”时,在没有得到结果之前,该“调用”就不返回。但是一旦调用返回,就得到返回值了。换句话说,就是由“调用者”主动等待这个“调用”的结果。而异步则是相反,”调用”在发出之后,这个调用就直接返回了,所以没有返回结果。换句话说,当一个异步过程调用发出后,调用者不会立刻得到结果。而是在”调用”发出后,”被调用者”通过状态、通知来通知调用者,或通过回调函数处理这个调用。段落参考原文链接:https://blog.csdn.net/qq_43196107/article/details/89679123

02

【数据分析】你是从哪个细节发现女朋友出轨的?

【编者按】本文内容仅做学术探讨,真伪自辩,切勿模仿! 作为一个不合格的乌云白帽子,下边只是冰山一角吧。但如果你是异地,那这也许是最好的教材。 事情一开始是这样,我和 GF 异地接近一年了,GF 有两个号码,有一个是我给她买的,另一个是自己买的。 有一天我突然感觉我俩每天的日常通话时间越来越短,从一开始每天半小时左右下降到了隔两天一两分钟,妹子说忙。但我感觉也许可能我要绿了,当然我不相信男人的直觉这种事儿的,我对我们四年多的感情还是很自信的,毕竟按计划马上要结婚了。 但悲剧的是最后,远在千里之外的我发现了

04

腾讯开发微信花了多少钱?真的技术难度这么大吗?难点在哪里?

文章有点长,但是看完肯定有巨大收获,特别是针对想从事互联网行业想开发一个自己APP的人,这是我从自己多年外包和自己开发产品累计研发成本过千万的情况下得出的经验。 先说结论 腾讯开发微信花的成本应该超过10个亿,真的技术难度很大,如果交给一个全栈工程师去做,可能要做1万年。下面详细的讲解和分析为什么成本这么高,都高在哪里。 本人之前就是做APP软件外包行业的,前后外包的APP开发上线过上百款,涉及领域从电商,教育,金融,物联网,医疗都有。去年开始转型,开始真正的开发了一款属于自己公司的互联网产品,期间真正的体

01

神仙导师!研究生疫情期间在导师家“蹭吃蹭住”43天,还考上了博士!

每天给你送来NLP技术干货! ---- 转载自:募格课堂 | 整合子文汇报、上观新闻、触电新闻、各校研究生院官微、抖音 “倒霉”研究生遇见“神仙”导师是种什么体验? 上海海洋大学2022届硕士研究生陈金超,怎么也没想到,疫情期间的一次意外受伤,让他在导师高春梅(生态与环境学院副教授)家里连续吃住了43天,还成功考上了博士。 图源:触电新闻 网友以为的,“我和导师的相处日常”: 实际上,这位导师除了提供陈同学全方位的毕业论文辅导,在知道他想要读博时,还帮忙推荐读博学校、联系导师,一对一辅导博士面试。而

02

真·时间就是金钱!这位日本小哥9天用5k日元做了个“时光机”,倒带1分钟只要1日元

大数据文摘出品 作者:Caleb 小学的时候,大人们为了教导小孩子们珍惜时间,都会告诉他们,一寸光阴一寸金,寸金难买寸光阴。 不知道有没有人发出过这样的疑问,如果我有了“寸金”,那么该上哪去买这“寸光阴”呢? 别担心,现在这个“时光机”已经在日本静冈被制作出来了,最关键的是,要买到“寸光阴”,根本用不着金,1分钟只要1日元。 怎么样,是不是很划算? 这个“时光机”一经推出也是受到了网友们的热烈追捧,截至目前,该条推文的点赞量已经超过了187K点赞,转发量也超过了38K。 有网友不禁感叹到,年轻的时候

01

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券