同步的含义究竟是什么?

发布于 2022-09-05 19:30:10 字数 293 浏览 36 评论 0

同步编程,请求响应模型,同步化、顺序化、事务化。
异步编程,事件驱动模型,以 Fire and Forget 方式实现。

无论是线程还是进程,使用的都是同步进制,当发生阻塞时,性能会大幅度降低,无法充分利用CPU潜力,浪费硬件投资,更重要造成软件模块的铁板化,紧耦合,无法切割,不利于日后扩展和变化。

以上描述来自网络。

请问,同步编程模型中的同步化,究竟指什么?

同步:
正在开开心心写代码,然后等后端把接口数据给过来,然后等啊等,然后等到了下班。
请问,这不就是阻塞吗?这个和阻塞有区别吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

长发绾君心 2022-09-12 19:30:10

同步就是代码这个日程表必须严格按照顺序从前往后执行,如果中间某些事物步骤比较慢甚至时有停顿,那后面的步骤即使不依赖前项结果但是因为日程表只能这么顺序写那就也只能等待。
异步就是,日程表中所有满足条件的事务都可以尽可能尽快开展,如果执行快速的事务不依赖慢速的事务的结果,那这些事务就可以在慢速事务等待的间隙也得到执行。

调用打印机等外设就是比较慢的,如果弄成同步就必须等待打印完成你才可以继续下面的工作,而异步呢,你把文档扔给打印任务后就可以干别的事情了。

比如说你是老总,同步下,像排队买饭都需要你自己来排队。而如果是异步,你就可以雇秘书当分身帮你排队,你可以继续lol,秘书买好饭您再亲自吃。

寄与心 2022-09-12 19:30:10

楼上的例子很好,我再举一个

去派出所补办身份证,如果只开了一个办理窗口,大家排好队,一个一个来,从申请到重新制作卡片要2周时间,第1个人就要带着小板凳和铺盖排2周的队伍,后面的人跟着一起排队,第一个人卡片拿到手了,第二个人接着上。
这个就是同步单进程

后来发现这样效率不行,多开了几个窗口,但是还是需要大家排队2周一个人,这个就是同步多进程的。

后来发现效率还是不行,排队排死人,毕竟这个不是网红奶茶,于是只要申请,留下手机号(注册时间),等身份证制作好了,就打电话通知(派发事件)你,你过来领取就行了,这个就是异步的。。

万劫不复 2022-09-12 19:30:10

形象的说就是
一条生产线 同步就是 生产线上的产品被处理必须一个接一个 假如前面的一个卡住了 后面就全卡住了
异步就是 一条生产线 上面的产品有需要异步处理的话 就是流水线继续运行,我把需要异步处理的拿出来处理 处理完了再放回去 不影响生产线

桃气十足 2022-09-12 19:30:10

拿前端工作来举个栗子。
同步:
正在开开心心写代码,然后等后端把接口数据给过来,然后等啊等,然后等到了下班。
异步:
正在开开心心写代码,然后等后端把接口数据给过来,然后后端说:我这里还有其他事情,你先去忙其他的吧。我说好的,然后我就去处理其他的任务了,等到后端把接口数据给过来之后再回来继续处理这个地方的代码。

补充:
没问题,同步就是会导致阻塞,但是有时候同步又是必须的。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文