快捷搜索: 王者荣耀 脱发

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

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

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

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

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

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

经验分享 程序员 微信小程序 职场和发展