[发明专利]一种多线程管理方法及架构有效

专利信息
申请号: 201110391566.8 申请日: 2011-11-30
公开(公告)号: CN103136047A 公开(公告)日: 2013-06-05
发明(设计)人: 韩正超;王海涛;范大庆 申请(专利权)人: 大唐联诚信息系统技术有限公司
主分类号: G06F9/48 分类号: G06F9/48
代理公司: 北京集佳知识产权代理有限公司 11227 代理人: 逯长明
地址: 100191*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 多线程 管理 方法 架构
【说明书】:

技术领域

发明涉及技术领域,特别是涉及一种多线程管理方法及架构。

背景技术

线程,也被称为轻量级进程,是程序执行流的最小单元;一个标准的线程由线程ID,当前指令指针、寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分配的基本单元,线程自己不拥有系统资源,只拥有一点自己在运行过程中必不可少的资源,但它可与同属一个进程的其他线程共享进程所拥有的全部资源。一个线程可以创建和撤销另一个线程,同一个进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行过程中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。每一个程序都至少有一个线程,那就是程序本身。线程是程序中一个单一的顺序控制流程,在单个程序中同时运行多个线程完成不同的工作,称为多线程。

在嵌入式系统中,线程间可以互相切换。比如,某此线程间切换过程如图1所示。在整个过程中,各线程的时间分配如图2所示。其中,时间轴上各时间点的说明为:

(1)0~T1为空闲;

(2)T1~T2为线程1处理需要的时间;

(3)T2~T3为线程1切换到线程2需要的时间;

(4)T3~T4为线程2处理需要的时间;

(5)T4~T5为线程2切换到线程3需要的时间;

(6)T5~T6为线程3处理所需的时间。

由图2可知,处理整个流程所需的时间总开销为(T6-T1)。其中,线程的处理时间开销为(T2-T1)+(T4-T3)+(T6-T5);线程间切换次数为2次,切换产生的调度时间开销为(T3-T2)+(T5-T4)。由于线程有自己的堆栈,线程间切换时,需要保存程序计数器、上下文指针、运行状态、寄存器组等信息,使得线程间切换的时间开销比较大。而随着线程数量的增加,线程间切换时调度算法的时间复杂度和空间复杂度会相应的增加,同时线程间切换的次数也会增加,这样使得总时间开销与线程数量会呈现出近似平方的关系。因此,当线程个数达到一定数量时,线程切换带来的时间开销是不可忽略的,甚至会严重影响系统的性能。

为了避免线程间切换带来的时间开销过大,现有的解决办法是减少线程数量,减少线程间单次调度的时间开销以及线程间切换的次数。但是,线程数量的减少意味着每个线程需要处理的功能增加,从而造成单个线程功能庞大,结构复杂,对于前期开发以及后期维护都带来极大不便;而且软件架构不易改变,不利于功能扩展和软件升级。

因此,如何降低多个线程的切换带来的时间开销,从而降低整个线程处理过程的总开销是一个值得关注的问题。

发明内容

为解决上述技术问题,本发明实施例提供了一种多线程管理方法及架构,以降低多线程的切换时间开销,技术方案如下:

一种多线程管理方法,适用于由操作系统控制多个线程的架构中,其中,多个线程包括调度线程和处理线程,所述调度线程控制多个纤程实现相应多个处理线程的功能,且所述多个纤程共享其对应调度线程的堆栈资源;所述方法包括:

当前被执行的调度线程获得当前被执行纤程所发送的调度消息,所述调度消息携带有目的标识;

判断所述目的标识是否为自身内部纤程的标识,如果是,则根据所述调度消息,从当前被执行纤程切换到具有目的标识的纤程,以实现线程内部纤程的切换;

否则,将所述调度消息发送至所述目的标识对应的线程,并且在当前被执行纤程执行完毕后,释放相应CPU资源,并保存自身的堆栈信息,以此实现线程间的切换。

其中,所述则根据所述调度消息,从当前被执行纤程切换到具有目的标识的纤程,具体为:

将所述调度消息保存在其对应的存储邮箱中;

在当前被执行纤程执行完毕后,解析所述存储邮箱中的调度消息,并根据解析结果,调度并执行所述目的标识对应的纤程。

其中,当所述目标标识对应的线程为处理线程时,所述目的标识对应的线程对所述调度消息的处理过程包括:

接收所述调度消息;

在所述当前被执行的调度线程的当前被执行纤程执行完毕,并释放相应CPU资源后,从操作系统获得相应CPU资源;

解析所述调度消息,并根据解析结果,由操作系统调度并执行。

其中,当所述目的标识对应的线程为调度线程时,所述目的标识对应的线程对所述调度消息的处理过程包括:

接收所述调度消息;

将所述调度消息放置到所述目的标识对应纤程的存储邮箱中,并将所述目的标识对应的纤程放置到自身的调度队列中;

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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