并发和并行,同步和异步
来自CloudWiki
并发和并行
并发(concurrency)和并行(parallelism)是两个相似的概念。
并发是指在一个时间段内发生若干事件的情况。
并行是指在同一时刻发生若干事件的情况。
同步和异步
同步就是并发或并行的各个任务不是独自运行的,任务之间有一定的交替顺序,可能在运行完一个任务得到结果后,另一个任务才会开始运行。就像接力赛跑一样,要拿到交接棒之后下一个选手才可以开始跑。
异步则是并发或并行的各个任务可以独立运行,一个任务的运行不受另一个任务影响,任务之间就像比赛的各个选手在不同的赛道比赛一样,跑步的速度不受其他赛道选手的影响。
下面介绍的多线程、多进程、多协程网络爬虫在进行网页IO的时候都是使用异步方式“同时”获取多个网页,从而加快网页的爬取速度。