[Linux] 协程是不是我想的这样
Posted 陶士涵的菜地
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Linux] 协程是不是我想的这样相关的知识,希望对你有一定的参考价值。
最早知道的概念是进程 , 每个进程里面的执行单元是线程 , 一个进程肯定有一个主线程 , 也可以开出一些子线程 ,这俩都是操作系统控制的
协程是啥概念?
现在又在线程里面增加了个协程的单元 , 这个是各程序自己去实现的概念 , 是比线程更小的一个单元
在一个线程里面如果开启了一个协程 , 这个主线程就会被阻塞到协程里面去 , 协程执行完 , 再回到主线程 . 这个好]和线程的阻塞还不一样 ,线程是被操作系统内核所阻塞的,而协程是被程序控制阻塞的 ,没有进入到操作系统内核里 , 这样耗费的资源就少.
多进程和多线程的切换 , 都是需要操作系统来处理的 , 如果换成多协程的切换 , 就可以只需要我们程序自己来处理就行了 , 耗费的资源也少.
那么对于很多语言例如php有协程的概念 , 应该是单协程 , 并没有增加多协程并发调度切换
以上是关于[Linux] 协程是不是我想的这样的主要内容,如果未能解决你的问题,请参考以下文章
「理解C++20协程原理」从Linux线程线程与异步编程协程与异步