加入收藏 | 设为首页 | 会员中心 | 我要投稿 孝感站长网 (https://www.0712zz.com.cn/)- 运营、云管理、管理运维、云计算、大数据!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

1小时让你掌握响应式编程

发布时间:2021-03-16 16:16:52 所属栏目:外闻 来源:互联网
导读:的话,可以认为代码执行其实就是一些行为动作,这些行为动作的目的就是为了获取/操作数据。 例如加法,这里的行为动作就是执行相加,数据就是加数和被加数。操作结果就是得到了另一个数据,即两个数的和。 只是在这个加法里,数据跑的特别快,(CPU的寄存器,

的话,可以认为代码执行其实就是一些行为动作,这些行为动作的目的就是为了获取/操作数据。

例如加法,这里的行为动作就是执行相加,数据就是加数和被加数。操作结果就是得到了另一个数据,即两个数的和。

只是在这个加法里,数据跑的特别快,(CPU的寄存器,能不快吗),我们几乎觉察不到执行动作在等数据的过程。怎么办呢,那就看一个能把它们拉开的例子。

那自然非数据库查询莫属了,既有网络I/O,又有磁盘I/O,肯定会慢一些。

假设我的业务是这样的,代码先去数据库查询一个用户,接着修改用户的密码,然后再更新回数据库,最后代码返回成功。

如果网速和数据库都很慢的话,可能是这样的。代码执行一个查询数据库动作,然后等啊等啊等,等的花都谢了,终于数据库把用户返回过来了,接着,代码飞快的修改了密码,并执行一个更新数据库的动作,然后又是等啊等啊等,等的花又开了,数据库终于回话了,更新成功。然后代码返回成功,全部执行完了。

所以同步阻塞代码的最大特点就是,带着数据上路,数据不到位就阻塞住。

最后来个小小的升华:

  • 所谓同步就是快的等慢的,然后一起往前走,表示的是目的。
  • 所谓阻塞就是想办法让快的停滞不前,等待慢的到来,表示的是手段。

一言以蔽之,同步是目的,阻塞是手段。

我看异步非阻塞

“你知道什么是异步非阻塞吗”,当然知道了,不过我不知道该怎么看它。“哦,恭喜你都会抢答了。。。”。

我们生活在异步的世界,却是最不懂异步的人。

你去饭店吃饭,服务员把你的菜单写好,交给厨房后就去服务别人了。

厨房把饭做好后,通过按铃通知服务员,服务员再把饭送到你的位置上。

服务员是主(或I/O)线程,把任务交给厨房这个工作线程去执行,厨房接到任务的同时还要记住送来该任务的服务员,然后厨房去执行任务,服务员也去忙别的了。

厨房执行完任务后,对当时的那个服务员进行通知,服务员接到通知后,再去执行接下来的内容,如把饭送到客人餐桌。

这是一个非常常见的异步场景,由于其中一方不愿意等待(或时

(编辑:孝感站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读