异步编程和并行编程的区别

异步的操作都在一个线程完成,而并行的操作必须要两个以上的线程。

为什么呢,因为并行,意味着同时,对于两个操作,一个线程无法同时完成它们,就像我不能一边用手洗衣服一边用手抄作业,你的这双手就是一个线程,如果你的脚很灵活,你可以一边用脚洗衣服一边用手抄作业,这样你的手和脚就是两个线程。

异步,它是一种并发,当你想要一个结果,但又不是现在马上就需要它,而你又有别的事要做,那你先做这件事,等结果出来了,你去取结果然后再回来继续干这件事,而不是两件事同时干。比如你有作业要抄,又要洗衣服,你先把衣服扔洗衣机里,然后不管它,自己抄作业,洗好了,你去取干净的衣服挂起来回来继续写作业,这就是异步。

这两个概念非常容易混淆,因为两件事,在同一时间段都是有所进展的,但实现层面上不一样,一个是一个线程,一个是多个线程。

或许可以这么理解,并发是异步的一种特殊情况。

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值