002.多线程-为什么要使用多线程

版权声明:本文为博主原创文章,允许转载,请标明出处。 https://blog.csdn.net/qwdafedv/article/details/84062338

简单来说就是为了提高效率


在单核CPU中,多线程主要是为了降低阻塞。
多线程的并发,其实是一种“伪并行”。
在每个时刻,真正执行的只有一个线程。
但是,由于多线程减少了等待IO操作(比如:磁盘、网络、数据库等)时间,
所以,多线程大大提高了程序的效率。


还举车间与车间工人的例子,简单说明一下:
车间要生产10个鸡蛋灌饼,
如果让一个工人来做的话,花费的时间为:通知工人的时间[1毫秒]+工人生产的时间[2000毫秒]。
这里,工人生产的时间我们就可以理解为等待IO操作的时间。
一个工人近似花费:1+(2000 x 10)≈20000毫秒
如果让10个工人来做的话,
将花费:(1 x 10)+2000≈2000毫秒
这就是多线程的优势。


至于多线程的应用场景,只要是对速度与效率有所追求的地方,都可以看到多线程的身影。


正因为追求效率,后面我们会看到线程池的应用,
线程池的产生就是因为线程之间的创建、撤销、切换具有较大的时空开销,
尽管它的开销比较进程要小得多。

猜你喜欢

转载自blog.csdn.net/qwdafedv/article/details/84062338