理解同步和异步

我们经常会在书本中看到同步和异步的字眼,那么究竟同步和异步有什么区别呢?实际上,我们在生活中常常和同步异步打交道。

某天,小明晚上肚子饿了,下楼去买食物,他常常光顾的店有四川砂锅粉、张大姐泡菜和炸啊炸油炸社。小明首先去了四川砂锅粉买了砂锅粉,买完砂锅粉,然后去张大姐泡菜买了泡萝卜,买完泡萝卜,小明又去了炸啊炸油炸社去买了根大香肠,买完之后不亦乐乎的回去了。

我们来梳理下小明的行为。

  • 买四川砂锅粉,耗时10分钟。
  • 买张大姐泡菜,耗时10分钟。
  • 买炸啊炸大香肠,耗时10分钟。

小明为了买这三样东西一共话费了30分钟,这些行为是串行的。

小明回去想了想,觉得买东西花费了太多的时间,这些时间都够开一把游戏了,因此他决定第二天改变下策略。第二天,小明实行的策略就是先去3家店付款,付完款然后等三家都做好了然后去取,当我们再次梳理下小明的行为。

  • 去四川砂锅粉店付款
  • 去张大姐店付款
  • 去炸啊炸店付款
  • 等待10分钟
  • 取砂锅粉
  • 取泡菜
  • 取大香肠

我们发现这次小明仅仅花费了10分钟就取到了自己的三样美食。

上面就是同步和异步的区别,同步往往是串行的,异步则是并行的。

在计算机的世界里,读写磁盘和网络请求是非常耗时的,一个线程必须等待这些操作完成之后才能继续执行后续的操作,这就是同步操作。异步的解决方案通常使用多个线程去并行的执行这些耗时的任务,这样即可将原本耗时的操作变得不那么耗时。

异步常常用在文件下载、文件上传、网络请求等耗时的问题上。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值