I/O 多路复用用协程和用线程的区别?

Posted 猿猿HHH

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了I/O 多路复用用协程和用线程的区别?相关的知识,希望对你有一定的参考价值。

线程是执行程序的最小单位。I/O 多路复用时,会用单个线程处理大量的 I/O。还有一种执行程序的模型,叫协作程,协程是轻量级的线程。操作系统将执行资源分配给了线程,然后再调度线程运行。如果要实现协程,就要利用分配给线程的执行资源,在这之上再创建更小的执行单位。协程不归操作系统调度,协程共享线程的执行资源。

而 I/O 多路复用的意义,是减少线程间的切换成本。因此从设计上,只要是用单个线程处理大量 I/O 工作,线程和协程是一样的,并无区别。如果是单线程处理大量 I/O,使用协程也是依托协程对应线程执行能力。

以上是关于I/O 多路复用用协程和用线程的区别?的主要内容,如果未能解决你的问题,请参考以下文章

Python学习之路——Day11(I/O多路复用)

协程与IO多路复用

I/O复用机制概述

Java基础:I/O多路复用模型及Linux中的应用

I/O多路复用

详述 Redis 选择单线程模型的原因以及 I/O 多路复用