【技术实现步骤摘要】
一种多线程程序架构方法及架构系统
本专利技术涉及多线程程序
,尤其涉及一种多线程程序架构方法及架构系统。
技术介绍
并行计算广义是指在一个程序中同时执行多个计算任务,通常用于对性能要求极高的场合,例如:气象预报、图像识别等领域。并行计算能够充分利用CPU计算资源,因此应用越来越广泛。并行计算通常有两种实现方式:多进程和多线程。多进程程序中每一计算进程所用的计算资源相互独立,相互之间不能互访,进程间通信需要借助网络或文件系统,因而多用于各运算单元之间关联性不大或远程多机并行运算等情况,如网站服务器等。多线程程序各线程可共享内存资源,线程间通信简单,资源开销小,但也因此带来跨线程数据同步、资源互锁等工程难题。传统的面向对象方法缺乏软件架构层面的多线程程序开发支持。目前软件开发中对多线程的使用还仅限于那些可将一个大运算任务分解为若干运算过程类似的同质子任务的情况。例如在进行矩阵运算时,通过多线程对矩阵的不同元素同时进行计算,又如渲染图片时通过并行计算同时渲染图片的不同部分等。此类多线程应用其效力仅能发挥于加速某些特定任务的执行速度,而不能从总体设计层面采用多线程方 ...
【技术保护点】
1.一种多线程程序架构方法,其特征在于,包括:接收多线程系统的数据处理任务,并将数据处理任务分解为多个子任务;根据每个子任务写入继承自Bot类或Node类的工作类,将子任务的执行程代码以及消息映射表放置于工作类的接口内,生成工作类实例化对象;写入继承Node类的Root类,并在Root类的接口内将各个工作类加载为Root类的子节点;根据拓扑树架构机制对工作类实例化对象和Root类组成拓扑树结构,该拓扑树结构为多线程程序;根据跨线程消息传递与同步机制利用消息类和消息队列类在多线程程序中传递消息;赋予每个实例化的工作类一条独立线程。
【技术特征摘要】
1.一种多线程程序架构方法,其特征在于,包括:接收多线程系统的数据处理任务,并将数据处理任务分解为多个子任务;根据每个子任务写入继承自Bot类或Node类的工作类,将子任务的执行程代码以及消息映射表放置于工作类的接口内,生成工作类实例化对象;写入继承Node类的Root类,并在Root类的接口内将各个工作类加载为Root类的子节点;根据拓扑树架构机制对工作类实例化对象和Root类组成拓扑树结构,该拓扑树结构为多线程程序;根据跨线程消息传递与同步机制利用消息类和消息队列类在多线程程序中传递消息;赋予每个实例化的工作类一条独立线程。2.根据权利要求1所述的多线程程序架构方法,其特征在于,Node类包括以下结构:公有属性:编号,常整形,标签,常节点标签,名称,字符串;保护属性:自指针,节点指针,父节点指针,节点指针,消息队列,消息队列指针,子节点指针,节点指针数组;私有属性:根节点指针,节点指针,邻节点指针,节点指针数组,同步锁,互斥锁,消息映射表,多映射;公有方法:构造函数,启动运行,接收消息;保护方法:设置消息映射,消息分拣,发布消息,节点消息处理,加载子节点,加载消息映射。3.根据权利要求2所述的多线程程序架构方法,其特征在于,Bot类是Node类的子类,Bot类继承Node类的属性和方法,还包括以下结构:私有属性:空闲标识,循环标识,线程锁,工作线程,循环周期;保护属性:唤醒条件;公有方法:构造函数,获取唤醒条件,启动运行,设置循环周期,接收消息;私有方法:运行,处理消息,处理函数。4.根据权利要求3所述的多线程程序架构方法,其特征在于,消息类包括以下结构:公有属性:发送者(sender),标签(tag),包裹。5.根据权利要求4所述的多线程程序架构方法,其特征在于,消息队列类包括以下结构:私有属性:队列,同...
【专利技术属性】
技术研发人员:林嘉,
申请(专利权)人:南昌嘉研科技有限公司,
类型:发明
国别省市:江西,36
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。