协程广泛的一个理解,是应用于大量I/O场景的一种优化方式,通过节约掉内核层面的切换与调用,来减少逻辑运算切换的开销。
所以,从某种意义上讲,协程有在特定的环境替代多线程的意思。
这些是从正向意义上看的。
但实际上,协程也可以有另一种用法:限制资源的使用。
当我们有这样一种需求:两组逻辑运算,是并发的,但是不应并行处理时,我们就可以考虑使用协程来进行限制。
举例来说,任务A和任务B是有关或无关的两组运算,任务A的触发时间与任务B可能无关,即二者是可以并发的。但是,任务A在实际运行上不应与任务B是并行的。
使用线程是难以解决这个问题的,即便使用信号量等同步也是很麻烦的。但是,协程可以轻松解决这个问题,因为二者可以绑定到同一线程上,而使用协程调度控制分开运行。
资料参考:
https://www.cnblogs.com/ishen/p/14617708.html
标签:逻辑运算,协程,介绍,并发,任务,线程,使用 From: https://www.cnblogs.com/qyit/p/17240953.html