医疗多线程共享资源分配处理方法及系统技术方案

技术编号:13012187 阅读:58 留言:0更新日期:2016-03-16 09:00
本发明专利技术提供的医疗多线程共享资源分配处理方法及系统,处理方法包括:a、创建共享资源队列,所述共享队列包括主队列和从队列,b.优先对主队列中的每个元素进行存储和释放操作,所述从队列初始状态为空闲状态;c.当主队列满载后,从队列接替主队列工作;本发明专利技术通过主、从队列方式自适应资源分配,能降低高并发时各线程无法因无法获取资源的等待时间。同时通过对资源进行原子操作的标记置换取代传统的对资源进行加锁,降低了各线程间资源竞争的性能消耗,能最大程度的利用多核处理器性能。

【技术实现步骤摘要】

本专利技术涉及计算机应用
,尤其涉及一种医疗多线程共享资源分配处理方法及系统
技术介绍
随着计算机应用的快速发展,计算机处理器已经广泛的应用在移动通信、数字消费电子和智能控制设备领域,人们对计算机处理器的各项性能的要求也越来越高,然而,在医疗领域中,对计算机处理要求快速而稳定,在单线程处理器结构中只能发掘一个线程的指令级,多线程是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能,其中,针对多核或多处理器中多线程的并发资源贡献分配如何进行优化,是能充分发挥计算机处理能力中的非常重要的一环,现有的多线程共享资源通常都在资源分配的过程中产生了加锁、解锁的性能消耗和冲突,当一线程正在进行操作时,需要让其他线程等待,需要其他线程等待操作完成之后,解锁并将其释放才能进行操作,这样会导致更新数据时需要频繁的加锁、解锁,造成读写线程等待时间过长,严重降低了多线程处理的效率,因此,需要一种新的多线程处理系统以解决上述问题。
技术实现思路
有鉴于此,本专利技术提供一种医疗多线程共享资源分配处理方法及系统,以解决上述问题。本专利技术提供的医疗多线程共享资源分配处理方法包括:a、创建共享资源队列,所述共享队列包括主队列和从队列,b.优先对主队列中的每个元素进行存储和释放操作,所述从队列初始状态为空闲状态;c.当主队列满载后,从队列接替主队列工作。进一步,在步骤c中,当所述主队列满载后,判断从队列是否为空闲状态,若为非空闲状态,则报告错误。进一步,判断队列中的元素是否为可用,并将所述元素的可用状态进行标记。进一步,将所述元素进行编号,根据线程存储请求,从队首向后依次查找第一个标记为可用状态的元素,并存放资源,同时将其标记为不可用状态。进一步,根据线程释放请求,释放相应资源,并将相应编号的元素的标记由不可用状态标记为可用状态。本专利技术还提供了一种医疗多线程共享资源分配处理系统,包括共享资源队列模块、资源存储模块、资源释放模块以及用于发起线程存储和释放指令的请求模块;所述共享资源队列模块包括:用于优先对队列中的每个元素进行存储和释放操作的主队列模块和用于当主队列模块满载后接替主队列模块工作的从队列模块,所述从队列模块初始状态为空闲状态;所述请求模块分别与资源存储模块和资源释放模块连接,所述共享资源队列模块分别与资源存储模块和资源释放模块连接。进一步,还包括用于判断所述主队列模块和从队列模块工作状态的判断单元。进一步,还包括当判断单元检测到主队列模块满载后,从队列模块状态不为空闲时自动进行报错的报警单元。进一步,还包括用于将多线程并发的存储或释放请求进行排序的时序模块。进一步,所述资源释放模块还包括用于将接到线程资源释放请求后将元素进行标记的标记单元。本专利技术的有益效果:本专利技术通过主、从队列方式自适应资源分配,能降低高并发时各线程无法因无法获取资源的等待时间。同时通过对资源进行原子操作的标记置换取代传统的对资源进行加锁,降低了各线程间资源竞争的性能消耗,能最大程度的利用多核处理器性能。【附图说明】下面结合附图和实施例对本专利技术作进一步描述:图1是本专利技术的原理示意图。图2是本专利技术的实施例的流程示意图【具体实施方式】下面结合附图和实施例对本专利技术作进一步描述:图1是本专利技术的原理示意图。如图2所示,本实施例中的医疗多线程共享资源分配处理方法,包括:a、创建共享资源队列,所述共享队列包括主队列和从队列,b.优先对主队列中的每个元素进行存储和释放操作,所述从队列初始状态为空闲状态;c.当主队列满载后,从队列接替主队列工作。本实施例充分发挥了多处理器硬件能力,优化了医疗应用程序多线程并行共享资源利用,避免了资源分配中的加锁、解锁性能消耗和冲突,提高了程序性能。在步骤c中,当所述主队列满载后,判断从队列是否为空闲状态,若为非空闲状态,则报告错误。主队列首先投入使用,从队列空闲,且会在主队列满载后投入使用,此时主队列会被置为从队列,若主队列满载后,发现从队列不为空闲状态,说明程序出现错误导致性能下降,立即上报错误。在本实施例中,判断队列中的元素是否为可用,并将所述元素的可用状态进行标记。将所述元素进行编号,根据线程存储请求,从队首向后依次查找第一个标记为可用状态的元素,并存放资源,同时将其标记为不可用状态。队列中的元素用“1”和“0”两种标记表示该元素是否可用,队列接到线程存储请求后会从队首向后依次查找第一个为“ 1”标记的元素,存放资源,并将其标记置为“0”;3.资源释放,队列接到线程释放请求后会将相应编号的元素的标记由“0”置为“ 1 ”,表示元素已经卸载了资源,可再次使用。队列中每个元素的标记切换均为原子操作,对于多线程并发的存储或释放请求会有先后顺序,不会造成冲突。相应的本实施例还提供了一种医疗多线程共享资源分配处理系统,如图1所示,包括共享资源队列模块、资源存储模块、资源释放模块以及用于发起线程存储和释放指令的请求模块;所述共享资源队列模块包括:用于优先对队列中的每个元素进行存储和释放操作的主队列模块和用于当主队列模块满载后接替主队列模块工作的从队列模块当前第1页1 2 本文档来自技高网...

【技术保护点】
一种医疗多线程共享资源分配处理方法,其特征在于:包括a、创建共享资源队列,所述共享队列包括主队列和从队列,b.优先对主队列中的每个元素进行存储和释放操作,所述从队列初始状态为空闲状态;c.当主队列满载后,从队列接替主队列工作。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈瀚
申请(专利权)人:重庆安碧捷科技股份有限公司
类型:发明
国别省市:重庆;85

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1