程序的耗时
,分为两种情况,计算
和IO
。
例如我们要暴力破解
一串口令,这就需要非常强悍的CPU
算力,这种模型称为计算密集型
,消耗的时间长度由CPU的算力决定。python
天生在这种模型上吃亏,因为过渡封顶,所以执行时间要比C
这类底层语言慢很多倍。
但是Python的应用领域一般在web
,大部分消耗的时间不是在CPU的计算上面,而是等待网络的传输
,这种模型被称为IO密集型
,那么Python就不吃亏了。
当我们只有一个 线程 的时候,我们怎么实现多任务?异步
的模型就是解决这个问题。
CPU的算力,跟磁盘的读写、网络的传输速度是不匹配的,要快很多,当我们的任务A
遇到读写的时候,线程就不等了,直接跳出去执行任务B
,等待任务A
读写完毕,进程再返回任务A
继续执行,重复动作。这就是异步模型
。