同步编程,请求响应模型,同步化、顺序化、事务化。
异步编程,事件驱动模型,以 Fire and Forget 方式实现。
无论是线程还是进程,使用的都是同步进制,当发生阻塞时,性能会大幅度降低,无法充分利用CPU潜力,浪费硬件投资,更重要造成软件模块的铁板化,紧耦合,无法切割,不利于日后扩展和变化。
以上描述来自网络。
请问,同步编程模型中的同步化,究竟指什么?
同步:
正在开开心心写代码,然后等后端把接口数据给过来,然后等啊等,然后等到了下班。
请问,这不就是阻塞吗?这个和阻塞有区别吗?
同步就是代码这个日程表必须严格按照顺序从前往后执行,如果中间某些事物步骤比较慢甚至时有停顿,那后面的步骤即使不依赖前项结果但是因为日程表只能这么顺序写那就也只能等待。
异步就是,日程表中所有满足条件的事务都可以尽可能尽快开展,如果执行快速的事务不依赖慢速的事务的结果,那这些事务就可以在慢速事务等待的间隙也得到执行。
调用打印机等外设就是比较慢的,如果弄成同步就必须等待打印完成你才可以继续下面的工作,而异步呢,你把文档扔给打印任务后就可以干别的事情了。
比如说你是老总,同步下,像排队买饭都需要你自己来排队。而如果是异步,你就可以雇秘书当分身帮你排队,你可以继续lol,秘书买好饭您再亲自吃。