[发明专利]协程运行栈的分配方法和装置有效

专利信息
申请号: 201710524325.3 申请日: 2017-06-30
公开(公告)号: CN109213591B 公开(公告)日: 2021-06-04
发明(设计)人: 唐卓椿;栾亚建;刘显铭 申请(专利权)人: 阿里巴巴(中国)有限公司
主分类号: G06F9/50 分类号: G06F9/50;G06F9/48
代理公司: 北京展翼知识产权代理事务所(特殊普通合伙) 11452 代理人: 屠长存
地址: 310052 浙江省杭州市滨江*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 运行 分配 方法 装置
【权利要求书】:

1.一种协程运行栈的分配方法,其特征在于,所述方法包括:

触发协程切换事件;

从协程调度器响应于所述协程切换事件而分派的待执行协程中取出要切换的目标协程;

确定要切换的目标协程是否是当前协程;

在确定所述目标协程不是所述当前协程的情况下,切换上下文,所述切换上下文包括在所述当前协程尚未完成的情况下将所述当前协程的运行栈中的数据复制到私有内存,并将所述私有内存中所述目标协程的数据复制到所述运行栈,所述私有内存由包括所述当前协程和所述目标协程在内的多个协程所共享;

为所述目标协程分配CPU,以执行所述目标协程。

2.根据权利要求1所述的方法,其特征在于,所述确定要切换的目标协程是否是当前协程的步骤包括:

在所述目标协程的协程号和所述当前协程的协程号一致时,确定要切换的目标协程是当前协程;

在所述目标协程的协程号和所述当前协程的协程号不一致时,确定要切换的目标协程不是当前协程。

3.根据权利要求1所述的方法,其特征在于,所述方法还包括:

在确定所述目标协程是所述当前协程的情况下,分配CPU以执行所述目标协程。

4.一种协程运行栈的分配装置,其特征在于,所述装置包括:

切换触发单元,用于触发协程切换事件;

目标协程获取单元,用于从协程调度器响应于所述协程切换事件而分派的待执行协程中取出要切换的目标协程;

目标协程确定单元,用于确定要切换的目标协程是否是当前协程;

上下文切换单元,用于在确定所述目标协程不是所述当前协程的情况下,切换上下文,所述切换上下文包括在所述当前协程尚未完成的情况下将所述当前协程的运行栈中的数据复制到私有内存,并将所述私有内存中所述目标协程的数据复制到所述运行栈,所述私有内存由包括所述当前协程和所述目标协程在内的多个协程所共享;

协程执行单元,用于为所述目标协程分配CPU,以执行所述目标协程。

5.根据权利要求4所述的装置,其特征在于,在所述上下文切换单元中,确定要切换的目标协程是否是当前协程,包括:

在所述目标协程的协程号和所述当前协程的协程号一致时,确定要切换的目标协程是当前协程;

在所述目标协程的协程号和所述当前协程的协程号不一致时,确定要切换的目标协程不是当前协程。

6.根据权利要求4所述的装置,其特征在于,

所述协程执行单元还用于在确定所述目标协程是所述当前协程的情况下,分配CPU以执行所述目标协程。

7.一种协程运行栈的分配装置,其特征在于,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为执行如权利要求1-3中任意一项所述的方法。

8.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至3中任意一项所述的方法。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴(中国)有限公司,未经阿里巴巴(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710524325.3/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top