必威体育Betway必威体育官网
当前位置:首页 > IT技术

【C++面试知识】协程

时间:2019-08-24 06:11:05来源:IT技术作者:seo实验室小编阅读:56次「手机版」
 

协程

跟进程和线程放在一起,只不过相比其他两个更少的关注度。

定义:

一种用户态的轻量级线程,完全由用户调度控制,拥有自己的寄存器上下文和栈,协程调度切换的时候,先将寄存器上下文和栈保存到其他地方,切换回来的时候再恢复之前保存的寄存器上下文和栈。直接操作栈则基本没有内核切换的开销,可以不加锁的访问全局变量,所以上下文的切换非常快。

但是同一时间只能执行一个协程,大致来说是一系列互相依赖的协程间依次使用cpu,每次只有一个协程工作,而其他协程处于休眠状态,适合对任务进行分时处理;而线程,一次可以执行多个线程,适合执行多任务处理。

与线程的区别:

线程和协同程序的主要不同在于:在多处理器情况下,从概念上来讲多线程程序同时运行多个线程;而协同程序是通过协作来完成,在任一指定时刻只有一个协同程序在运行,并且这个正在运行的协同程序只在必要时才会被挂起。

相关阅读

外企面试英文自我介绍【面试经验】

前言:秋招即将结束,在找工作中遇到几次英语交流和自我介绍。如果提前做好准备,可能会收货一份含金量很高的offer,例如:微软、因特尔、W

互联网产品经理面试问题汇总(18问)

小编导读:以下内容是根据作者看了很多面试经验之后的总结,包括百度面经,腾讯面经,新浪面经,360面经,搜狐面经,迅雷面经等,希望能给大家一

策略产品经理基础知识: 2.2需求挖掘之效果回归

上周我们分享了抽样分析,一种很系统的需求挖掘方法,我认为无论是策略产品经理还是功能产品经理,都可以使用这套方法完成挖掘需求的工

产品经理面试技巧篇

产品经理作为互联网行业的新兴职位,正在越来越多地进入大众视野,其职能定位也许还不广为相关者所熟知;当面试如此职位的时候,很多要入

面对知识产品,什么才是正确打开方式?

当你在花钱购买知识的同时,知识也在购买你的时间。盲目地为知识付费,未必能够真正地提升自己,合理取舍,才能免掉不必要的智商税。在一

分享到:

栏目导航

推荐阅读

热门阅读