一种基于策略模式的信号发生器多线程管理方法_2

文档序号:9727130阅读:来源:国知局
承自信号源线程基类,负责具体实现某一特定功能,一个特定功能对应一个功能线程派生类,程序中可有多个功能线程派生类;线程管理类负责定义和维护功能线程派生类的对象,分配线程索引号,并通过全局唯一的全局线程管理类对象为线程管理模块外部使用者提供相应的线程管理接口。
[0038]本发明的线程管理模块架构示意图如下图3所示,线程管理模块三个组成部分的职责分工如下:
[0039](1)信号源线程基类
[0040]信号源线程基类负责定义线程对象的基本属性和行为,搭建线程处理过程的执行框架,所有的功能线程都必须从该基类派生得到。信号源线程基类实现了功能线程间属性和行为的一致,以及执行框架的复用。
[0041]信号源线程基类搭建了三种类型的执行框架,分别是:
[0042]1、单次执行的线程
[0043]此类线程创建后,线程处理过程执行一次后自动退出,此类线程可重复多次创建执行。
[0044]2、外部触发可多次执行的线程
[0045]此类线程创建后,线程处于等待外部触发状态,由外部触发执行。线程处理过程执行完一次后,再次处于等待外部触发状态,等待外部触发事件的再次触发并执行,直到外部取消或终止。
[0046]3、循环执行的线程
[0047]此类线程创建后,线程处理过程便一次次循环执行,直到外部取消或终止。
[0048]上述三种线程执行框架流程图如图4所示。
[0049](2)功能线程派生类
[0050]功能线程派生类继承自信号源线程基类,这种继承关系实现了功能线程类间属性和行为的一致。功能线程负责实现某一特定功能,一个特定功能对应一个功能线程派生类,程序中可有多个功能线程派生类。
[0051]功能线程派生类需要重写信号源线程基类的“线程处理函数”,完成指定的功能。
[0052](3)线程管理类
[0053]线程管理类负责定义和维护功能线程派生类的对象,分配线程索引号,并通过全局唯一的全局线程管理类对象为线程管理模块外部使用者提供相应的线程管理接口。
[0054]线程管理类是线程管理模块的对外接口部分,对外接口的设计改变了线程的使用方式,统一了线程的使用接口,实现了功能线程与使用者的分离,降低了耦合。
[0055]线程管理模块的线程使用方式改变为如图5所示。
[0056]本发明通过继承的技术手段实现了线程执行框架的复用,将线程相关多而分散的全局资源转化为对象内部属性,全局资源减少为只有一个;通过对外接口统一了线程的使用接口,实现了线程使用的一致性,将线程与使用者相隔离,降低了软件耦合;通过线程局部存储技术、线程身份自动识别技术和线程同步与互斥关系动态配置与隐式建立技术,增强了同步与互斥关系的安全性和可靠性;在线程执行框架中注入19条调试信息,能够系统性的监控并记录所有功能线程的全生命周期状态,帮助软件设计人员分析、定位线程相关问题(如死锁等)。
[0057]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种基于策略模式的信号发生器多线程管理方法,其特征在于,将线程管理模块分为信号源线程基类、功能线程派生类和线程管理类; 信号源线程基类负责定义和维护线程的基本信息,搭建线程处理框架; 功能线程派生类继承自信号源线程基类,负责具体实现某一特定功能,一个特定功能对应一个功能线程派生类; 线程管理类负责定义和维护功能线程派生类的对象,分配线程索引号,并通过全局唯一的全局线程管理类对象为线程管理模块外部使用者提供相应的线程管理接口。2.如权利要求1所述的基于策略模式的信号发生器多线程管理方法,其特征在于,所述功能线程负责实现某一特定功能,一个特定功能对应一个功能线程派生类,程序中有多个功能线程派生类。3.如权利要求1所述的基于策略模式的信号发生器多线程管理方法,其特征在于,所述信号源线程基类负责定义线程对象的基本属性和行为,搭建线程处理过程的执行框架,所有的功能线程都从该基类派生得到。4.如权利要求3所述的基于策略模式的信号发生器多线程管理方法,其特征在于,所述信号源线程基类搭建了三种类型的执行框架,分别是:单次执行的线程、外部触发多次执行的线程、循环执行的线程。5.如权利要求4所述的基于策略模式的信号发生器多线程管理方法,其特征在于,所述单次执行的线程创建后,线程处理过程执行一次后自动退出。6.如权利要求4所述的基于策略模式的信号发生器多线程管理方法,其特征在于,所述外部触发多次执行的线程创建后,线程处于等待外部触发状态,由外部触发执行;线程处理过程执行完一次后,再次处于等待外部触发状态,等待外部触发事件的再次触发并执行,直到外部取消或终止。7.如权利要求4所述的基于策略模式的信号发生器多线程管理方法,其特征在于,所述循环执行的线程创建后,线程处理过程一次次循环执行,直到外部取消或终止。8.如权利要求1所述的基于策略模式的信号发生器多线程管理方法,其特征在于,所述功能线程派生类继承自信号源线程基类,通过继承关系实现了功能线程类间属性和行为的一致。9.如权利要求8所述的基于策略模式的信号发生器多线程管理方法,其特征在于,所述功能线程派生类需要重写信号源线程基类的线程处理函数,完成指定的功能。
【专利摘要】本发明提出了一种基于策略模式的信号发生器多线程管理方法,将线程管理模块分为信号源线程基类、功能线程派生类和线程管理类;信号源线程基类负责定义和维护线程的基本信息,搭建线程处理框架;功能线程派生类继承自信号源线程基类,负责具体实现某一特定功能,一个特定功能对应一个功能线程派生类;线程管理类负责定义和维护功能线程派生类的对象,分配线程索引号,并通过全局唯一的全局线程管理类对象为线程管理模块外部使用者提供相应的线程管理接口。本发明提高软件研发的开发效率,降低开发成本,提高线程使用的一致性,增强功能的可扩展性和线程间同步与互斥关系的安全性和可靠性,以及丰富的线程调试信息支持线程全生命周期监控。
【IPC分类】G06F9/44, G06F11/36
【公开号】CN105487852
【申请号】CN201510792013
【发明人】蒋方文, 左永锋, 周俊杰, 王鹏, 徐明哲, 高训兵
【申请人】中国电子科技集团公司第四十一研究所
【公开日】2016年4月13日
【申请日】2015年11月11日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1