资源申请、释放方法及装置与流程

文档序号:11154625阅读:1438来源:国知局
资源申请、释放方法及装置与制造工艺

本申请涉及互联网技术领域,尤其涉及一种资源申请、释放方法及装置。



背景技术:

伴随着互联网规模的不断壮大,互联网软件需要处理的网络事件也随之剧增。为了加快网络事件的处理效率,互联网软件可以并行处理多个网络事件。在并行处理网络事件的过程中,互联网软件可以根据网络事件操作一些资源,因为并行的网络事件很多,所以各个网络事件所要操作的资源可能出现资源冲突。

例如,在互联网软件执行路由的创建删除操作过程中,与网络事件A对应的任务线程A希望目的IP为IPx的报文从网口A发送出去;而与网络事件B对应的任务线程B则希望处理目的IP为IPx的报文从网口B发送出去。目的IP为IPx的报文在同一时间只能从一个网口发送出去,因此网络事件A和网络事件B在处理目的IP为IPx的报文时,则会产生资源冲突。

为此,在互联网软件上增加资源调度方法来调度资源,以便避免多个网络事件的任务线程产生资源冲突。目前,资源调度方法的具体执行过程可以为:对互联网的所有资源进行分类,并且每类资源对应一个信号量;例如,路由类资源对应路由操作信号量,网口类资源对应网口类操作信号量,USB类资源对应USB操作信号量等。

现有的资源调度方法的大体执行过程为:当网络事件A的任务线程A需要操作A类资源时,需要等待A类资源的信号量A。在前一网络事件的任务线程操作结束后,网络事件A的任务线程A则可以获得A类资源的信号量A,从而利用A类资源执行其任务。在现有的资源调度方法中,由于同类资源在同一时间只有一个任务线程在使用,因此使用现有方式可以解决资源冲突的问题。

参见图1,以路由类资源为例,对现有的资源调度方法进行详细说明。假设与n个网络事件一一对应的有T1、T2……Tn共n个任务线程,n个任务线程均需要操作路由类资源。此时,为了避免资源冲突,在一个时刻只能有一 个任务线程使用路由类资源。即,在t1时刻T1任务线程占用路由操作信号量,可以使用路由类资源,T2、T3……Tn任务线程执行等待操作;在t2时刻T2任务线程占用路由操作信号量,可以使用路由类资源,T3,T4……Tn任务线程执行等待操作;按顺序依次执行,直到tn时刻Tn任务线程占用路由操作信号量,可以使用路由类资源。



技术实现要素:

在实际应用中,在每类资源下面具有多个条目。条目的汉语释义:指按内容分列的细目,条理项目;翻译成英文可以为item。以路由类资源为例,路由类资源可以具有IP1、IP2、IP3……等多个条目;再如,以网口类资源为例,网口类资源可以具有网口1、网口2、网口3……等多个条目。在研究资源调度线程的过程中,本申请发明人发现,只有在同一时刻使用同类资源的同一条目时,不同的任务线程才会产生资源冲突,在使用同类资源的不同条目时,不同的任务线程不会发生资源冲突。

例如,T1、T2……Tn共n个任务线程需要操作路由类资源,T1和T2任务线程需要操作条目IP1,T3任务线程需要操作条目IP2,T4任务线程需要操作条目TP3,依次类推,Tn任务线程需要操作条目IPx。由于T1和T2任务线程需要操作同一条目IP1,所以在同时执行时会发生资源冲突;但是,T1、T3、T4……Tn任务线程均操作不同的条目,因此T1、T3、T4……Tn任务线程在同时执行时,不会产生资源冲突。即,不同的任务线程在同一时刻操作同一条目时才会产生资源冲突,在操作不同条目时不会产生资源冲突。

现有技术中只要多个任务线程操作同类资源则确认其会产生资源冲突,但是,实际上只有在多个任务线程操作同类资源的同一条目时,才会产生资源冲突。因此,现有技术中资源调度方法对资源冲突的控制方式过于粗放,不能精细到具体条目的层面进行控制,这导致排列靠后的任务线程进行大量的不必要的等待,进而降低任务线程处理效率。同时,现有的资源调度方法需要为每类资源创建信号量,创建信号量需要较多的步骤,因此其处理过程较为繁琐。

因此,现在需要一种新的资源调度方法,以便简单、高效地提成任务线程的执行效率。

为了实现上述目的,本申请采用以下技术手段:

一种资源申请方法,包括:

接收目标任务线程发送的资源申请请求;其中,所述资源申请请求包括操作请求消息,所述操作请求消息包括目标资源类别和所述目标资源类别下的目标条目关键词;

若在与所述目标资源类别对应的条目占用记录集合中,未查找到与所述目标条目关键词对应的占用记录,则确认所述目标任务线程的所述资源申请请求;

向所述目标任务线程反馈所述资源申请请求的确认结果。

优选的,在确认所述目标任务线程所述资源申请请求之后,还包括:

在与所述目标资源类别对应的条目占用记录集合中,创建与所述目标条目关键词对应的占用记录。

优选的,在所述资源申请请求还包括目标任务线程的目标标识,在确认所述目标任务线程所述资源申请请求之后,还包括:

在与所述目标资源类别对应的条目占用记录集合中,创建与所述目标条目关键词和所述目标标识对应的占用记录。

优选的,还包括:

若在与所述目标资源类别对应的条目占用记录集合中,查找到与所述目标条目关键词对应的占用记录,则否认所述目标任务线程的所述资源申请请求;

向所述目标任务线程反馈所述资源申请请求的否认结果。

优选的,所述资源申请请求还包括第一位置指针,所述第一位置指针用于指向所述操作请求消息中申请结果的存储位置;

则向所述目标任务线程反馈所述资源申请请求的确认结果,具体包括:向所述第一位置指针指向的所述申请结果的存储位置中写入确认结果;

则向所述目标任务线程反馈所述资源申请请求的否认结果,具体包括:向所述第一位置指针指向的所述申请结果的存储位置中写入否认结果。

优选的,还包括:

重新接收所述目标任务线程发送的所述资源申请请求。

一种资源申请方法,包括:

创建操作请求消息;其中,所述操作请求消息包括目标资源类别和所述目标资源类别下的目标条目关键词;

向资源调度线程发送资源申请请求;其中,所述资源申请请求包括所述操作请求消息;

接收所述资源调度线程反馈的所述资源申请请求的确认结果;其中,所述确认结果为,所述资源调度线程利用在与所述目标资源类别对应的条目占用记录集合中未查找到与所述目标条目关键词对应的占用记录的方式,确认所述目标任务线程所述资源申请请求后,向所述目标任务线程发送的。

优选的,还包括:

接收所述资源调度线程反馈的所述资源申请请求的否认结果;其中,所述否认结果为,所述资源调度线程利用在与所述目标资源类别对应的条目占用记录集合中查找到与所述目标条目关键词对应的占用记录的方式,否认所述目标任务线程所述资源申请请求后,向所述目标任务线程发送的。

优选的,所述资源申请请求还包括第一位置指针,所述第一位置指针用于指向所述操作请求消息中申请结果的存储位置;

则所述接收所述资源调度线程反馈的所述资源申请请求的确认结果,包括:接收所述资源调度线程向所述第一位置指针指向的所述申请结果的存储位置中写入的确认结果;

则所述接收所述资源调度线程反馈的所述资源申请请求的否认结果,包括:接收所述资源调度线程向所述第一位置指针指向的所述申请结果的存储位置中写入的否认结果。

优选的,在所述接收所述资源调度线程反馈的所述资源申请请求的否认结果之后,还包括:

在延迟预设时间后,重新向所述资源调度线程发送所述资源申请请求;

若接收到所述资源调度线程反馈的否认结果之后,重复执行在延迟预设时间后重新向所述资源调度线程发送所述资源申请请求的步骤,直到接收到所述资源调度线程反馈的确认结果。

优选的,所述资源申请请求还包括目标任务线程的目标标识。

一种资源释放方法,包括:

接收目标任务线程发送的资源释放请求;其中,所述资源释放请求包括操作释放消息,所述操作释放消息包括所述目标资源类别和所述目标条目关键词;

在与所述目标资源类别对应的条目占用记录集合中,删除与所述目标条目关键词对应的占用记录;

向所述目标任务线程反馈所述资源释放请求的确认结果。

优选的,所述资源释放请求还包括第二位置指针,所述第二位置指针用于指向所述操作释放消息中释放结果的存储位置;

则向所述目标任务线程反馈所述资源释放请求的确认结果具体包括:向所述第二位置指针指向的所述释放结果的存储位置中写入确认结果。

优选的,所述资源释放请求还包括所述目标任务线程的目标标识;

在预设时间内未接收到所述目标任务线程发送的资源释放请求,则查看所述目标任务线程是否处于正常状态;

若所述目标任务线程未处于正常状态,则删除与所述目标标识对应的所有占用记录。

优选的,还包括:

向所述目标任务线程发送资源是否使用完毕的询问请求;

若所述目标任务线程的资源使用完毕,则接收所述目标任务线程发送的已使用完毕的资源类别和条目关键词;

在与所述目标资源类别对应的条目占用记录集合中,删除与所述目标条目关键词对应的占用记录。

一种资源释放方法,包括:

创建操作释放消息;其中,所述操作释放消息包括目标资源类别和所述目标条目关键词;

向所述资源调度线程发送资源释放请求;其中,所述资源释放请求包括操作释放消息;

接收所述资源调度线程反馈的所述资源释放请求的确认结果。

优选的,所述资源释放请求还包括第二位置指针,所述第二位置指针用于指向所述操作释放消息中的释放结果的存储位置;

则所述接收所述资源调度线程反馈的所述资源申请请求的确认结果,包括:接收所述资源调度线程向所述第二位置指针指向的所述释放结果的存储位置中写入的确认结果。

优选的,所述资源释放请求还包括所述目标任务线程的目标标识。

优选的,还包括:

接收所述资源调度线程发送的资源是否使用完毕的询问请求;

若资源使用完毕,则向所述资源调度线程发送已使用完毕的资源类别和条目关键词。

一种资源申请装置,包括:

第一接收单元,用于接收目标任务线程发送的资源申请请求;其中,所述资源申请请求包括操作请求消息,所述操作请求消息包括目标资源类别和所述目标资源类别下的目标条目关键词;

第一确认单元,用于若在与所述目标资源类别对应的条目占用记录集合中,未查找到与所述目标条目关键词对应的占用记录,则确认所述目标任务线程的所述资源申请请求;

第一反馈确认结果单元,用于向所述目标任务线程反馈所述资源申请请求的确认结果。

优选的,还包括:

第一创建记录单元,用于在与所述目标资源类别对应的条目占用记录集合中,创建与所述目标条目关键词对应的占用记录;和/或,

第二创建记录单元,用于在所述资源申请请求还包括目标任务线程的目标标识的情况下,在与所述目标资源类别对应的条目占用记录集合中,创建与所述目标条目关键词和所述目标标识对应的占用记录。

优选的,还包括:

否认单元,用于若在与所述目标资源类别对应的条目占用记录集合中,查找到与所述目标条目关键词对应的占用记录,则否认所述目标任务线程的所述资源申请请求;

反馈否认结果单元,用于向所述目标任务线程反馈所述资源申请请求的否认结果。

优选的,所述资源申请请求还包括第一位置指针,所述第一位置指针用于指向所述操作请求消息中申请结果的存储位置;

则第一反馈确认结果单元,具体用于:向所述第一位置指针指向的所述申请结果的存储位置中写入确认结果;

则反馈否认结果单元,具体用于:向所述第一位置指针指向的所述申请结果的存储位置中写入否认结果。

优选的,还包括:

所述第一接收单元,还用于重新接收所述目标任务线程发送的所述资源申请请求。

一种资源申请装置,包括:

第一创建消息单元,用于创建操作请求消息;其中,所述操作请求消息包括目标资源类别和所述目标资源类别下的目标条目关键词;

第一发送单元,用于向资源调度线程发送资源申请请求;其中,所述资源申请请求包括所述操作请求消息;

第一接收确认结果单元,用于接收所述资源调度线程反馈的所述资源申请请求的确认结果;其中,所述确认结果为,所述资源调度线程利用在与所述目标资源类别对应的条目占用记录集合中未查找到与所述目标条目关键词对应的占用记录的方式,确认所述目标任务线程所述资源申请请求后,向所述目标任务线程发送的。

优选的,还包括:

接收否认结果单元,用于接收所述资源调度线程反馈的所述资源申请请求的否认结果;其中,所述否认结果为,所述资源调度线程利用在与所述目标资源类别对应的条目占用记录集合中查找到与所述目标条目关键词对应的占用记录的方式,否认所述目标任务线程所述资源申请请求后,向所述目标任务线程发送的。

优选的,所述资源申请请求还包括第一位置指针,所述第一位置指针用于指向所述操作请求消息中申请结果的存储位置;

则所述第一接收确认结果单元,具体用于接收所述资源调度线程向所述第一位置指针指向的所述申请结果的存储位置中写入的确认结果;

则所述接收否认结果单元,具体用于接收所述资源调度线程向所述第一位置指针指向的所述申请结果的存储位置中写入的否认结果。

优选的,还包括:

所述第一发送单元,还用于在延迟预设时间后,重新向所述资源调度线程发送所述资源申请请求;

判断单元,用于若接收到所述资源调度线程反馈的否认结果之后,触发所述第一发送单元重复执行在延迟预设时间后重新向所述资源调度线程发送所述资源申请请求的步骤,直到接收到所述资源调度线程反馈的确认结果。

优选的,所述资源申请请求还包括目标任务线程的目标标识。

一种资源释放装置,包括:

第二接收单元,用于接收目标任务线程发送的资源释放请求;其中,所述资源释放请求包括操作释放消息,所述操作释放消息包括所述目标资源类别和所述目标条目关键词;

删除记录单元,用于在与所述目标资源类别对应的条目占用记录集合中,删除与所述目标条目关键词对应的占用记录;

第二反馈确认结果单元,用于向所述目标任务线程反馈所述资源释放请求的确认结果。

优选的,所述资源释放请求还包括第二位置指针,所述第二位置指针用于指向所述操作释放消息中释放结果的存储位置;

则第二反馈确认结果单元具体用于:向所述第二位置指针指向的所述释放结果的存储位置中写入确认结果。

优选的,所述资源释放请求还包括所述目标任务线程的目标标识;则所述装置还包括:

查看单元,用于在预设时间内未接收到所述目标任务线程发送的资源释放请求,则查看所述目标任务线程是否处于正常状态;

所述删除记录单元,还用于若所述目标任务线程未处于正常状态,则删除与所述目标标识对应的所有占用记录。

优选的,还包括:

发送询问请求单元,用于向所述目标任务线程发送资源是否使用完毕的询问请求;

接收资源类别和关键词单元,用于若所述目标任务线程的资源使用完毕,则接收所述目标任务线程发送的已使用完毕的资源类别和条目关键词;

所述删除记录单元,还用于在与所述目标资源类别对应的条目占用记录集合中,删除与所述目标条目关键词对应的占用记录。

一种资源释放装置,包括:

第二创建消息单元,用于创建操作释放消息;其中,所述操作释放消息包括目标资源类别和所述目标条目关键词;

第二发送单元,用于向所述资源调度线程发送资源释放请求;其中,所述资源释放请求包括操作释放消息;

第二接收确认结果单元,用于接收所述资源调度线程反馈的所述资源释放请求的确认结果。

优选的,所述资源释放请求还包括第二位置指针,所述第二位置指针用于指向所述操作释放消息中的释放结果的存储位置;

则所述第二接收确认结果单元,具体用于接收所述资源调度线程向所述第二位置指针指向的所述释放结果的存储位置中写入的确认结果。

优选的,所述资源释放请求还包括所述目标任务线程的目标标识。

优选的,还包括:

接收询问请求单元,用于接收所述资源调度线程发送的资源是否使用完毕的询问请求;

发送资源类别和关键词单元,用于若资源使用完毕,则向所述资源调度线程发送已使用完毕的资源类别和条目关键词。

本申请中提供的资源申请方法和资源释放方法,具有相应的技术手段,因此两者之间具有单一性。

由以上技术内容可以看出,本申请具有以下有益效果:

本申请在条目资源被占用的情况下,不允许任务线程占用条目资源,在条目资源未被占用的情况下,任务线程可以占用条目资源。可以理解的是,在具有多个并行任务线程时,本申请可以达到对同时使用同一条目资源的多个任务线程逐个执行,从而避免资源冲;针对使用不同条目资源的任务线程并行执行。

由于本申请中针对使用不同条目资源任务线程在同一时刻并行执行,针对使用同一条目资源的任务线程在不同时刻逐个执行。由于减少了逐个执行任务线程的数量,因此,缩短了执行任务线程的时间,因此提高了任务线程的执行效率。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请公开的一种资源调度过程示意图;

图2为本申请公开的又一种资源调度过程示意图;

图3为本申请实施例公开的资源申请方法的流程图;

图4为本申请实施例公开的资源释放方法的流程图;

图5为本申请实施例公开的又一资源申请方法的流程图;

图6为本申请实施例公开的又一资源释放方法的流程图;

图7为本申请实施例公开的资源申请装置的结构示意图;

图8为本申请实施例公开的资源释放装置的结构示意图;

图9为本申请实施例公开的又一资源释放装置的结构示意图;

图10为本申请实施例公开的又一资源申请装置的结构示意图;

图11为本申请实施例公开的又一资源释放装置的结构示意图;

图12为本申请实施例公开的又一资源释放装置的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

鉴于现有技术中资源调度方法对资源冲突的控制方式过于粗放,不能精细到具体条目的层面进行控制;为此,本申请发明人则设想站在具体条目的 角度执行资源调度方法。为了提高任务线程的执行效率,发明人设想在互联网软件上对并行执行的多个任务线程,达到以下技术效果:在同一时刻操作同一条目的多个任务线程逐个执行,在同一时刻操作不同条目的多个任务线程同时并行执行。

例如,继续以路由类资源为例。参见图2,发明人希望达到的计数效果为:在t1时刻执行T1、T3、T4……Tn任务线程,在t2时刻执行T2任务线程。这样便可以在2个时刻执行n个任务线程。相对于现有技术仅能在n个时刻执行n个任务线程而言,无疑大大提高了任务线程的执行效率。

现有技术均由任务线程来执行资源调度过程,当任务线程获得信号量时,可以执行任务;当任务线程未获得信号量时,则执行等待信号量的操作。在等待信号量的过程中,任务线程无法执行其它操作,这会影响任务线程执行其它任务。

为了不影响任务线程的执行过程,本申请专门为各个任务线程的资源调度创建一个资源调度线程,并且资源调度线程独立于各个任务线程而存在。任务线程仅需向资源调度线程发送资源申请请求即可,由资源调度线程来决定是否向任务线程授权。

任务线程在获得确认结果(授权)之后,则可以使用所需资源继续执行任务;在获得否认结果(未授权)之后,任务线程不可以使用所需资源执行任务,但是,任务线程可以执行其自身的其它程序,而不会因为未被授权而暂停执行自身的其它程序,这样可以提高任务线程的执行效率。并且,原本由任务线程来执行的资源调度过程,现在由资源调度线程来执行,因此可以减少任务线程的执行过程,这样同样可以提高任务线程的执行效率。此外,各个任务线程的资源申请请求均由资源调度线程来处理,因此资源调度线程可以集中管控各个任务线程的资源申请请求。所以,本申请单独为多个任务线程的资源调度创建一个资源调度线程,一个资源调度线程可以控制多个任务线程;这样可以方便资源调度线程统一调度资源,并且可以提高各个任务线程的执行效率。

在实际应用中,各个任务线程和资源调度线程均运行在CPU中。

在执行本申请之前,可以把各个任务线程涉及到的所有资源进行分类,例如,将所有资源分为路由类资源、网口类资源、USB类资源等多个资源类别,当然还可以分为其它资源类别,具体情况可以依据实际情况而定,在此不作限定。

并且,可以根据每类资源的特点,为每类资源的每个条目设置唯一的条目关键词。例如,路由类资源的条目关键词可以为IP1、IP2、IP3……等,网口类资源的条目关键词可以为网口1、网口2、网口3……等,USB类资源的条目关键词可以为USB1、USB2、USB3……等。

每类资源均对应一个资源类别,每类资源中每个条目均对应一个条目关键词,一个条目关键词对应一个条目资源。这样做的目的为:当任务线程在向资源调度线程申请条目资源时,可以向资源调度线程提供所需条目资源的资源类别和条目关键词,以便资源调度线程依据资源类别和条目关键词,能够准确得知任务线程所需的条目资源,从而决定是否给予任务线程授权。

本申请中资源调度线程可以并行对多个任务线程进行处理,并且对每个任务线程的处理过程均是一致的。因此,本申请将多个任务线程中一个任务线程作为目标任务线程,对目标任务线程与资源调度线程之间的处理过程进行详细说明,其它任务线程处理过程与目标任务线程的处理过程一致,在此不再赘述。

下面站在资源调度线程的角度来详细介绍本申请的执行过程。如图3所示,本申请提供一种资源申请方法,具体包括以下步骤:

步骤S301:接收目标任务线程发送的资源申请请求;其中,所述资源申请请求包括操作请求消息,所述操作请求消息包括目标资源类别和所述目标资源类别下的目标条目关键词。

为了避免产生资源冲突,在目标任务线程使用条目资源之前,可以向资源调度线程发送资源申请请求。在资源申请请求中包括操作请求消息,操作请求消息中包括目标任务线程所需要使用条目资源所归属的目标资源类别,以及在该目标资源类别下条目资源所对应的目标条目关键词。

此外,操作请求消息中还具有操作类型和申请结果。在操作请求消息中操作类型为申请类型,申请类型用于表示目标任务线程向资源调度线程申请 资源。在操作请求消息中申请结果用于表示资源调度线程对操作请求消息的授权结果;申请结果可以有三种:等待状态、确认结果和否认结果。其中,等待状态为资源调度线程还未处理操作请求消息时申请结果的状态,确认结果为资源调度线程确认操作请求消息时申请结果的状态,否认结果为资源调度线程否认操作请求消息时申请结果的状态。

目标任务线程在创建操作请求消息之后,可以将操作请求消息存储在CPU内存中,以便后续使用。然后目标任务线程可以将至少包含操作请求消息的资源申请请求,发送至资源调度线程,供资源调度线程处理。

资源调度线程可以接收目标任务线程发送的资源申请请求,并通过资源申请请求中操作请求消息的目标资源类别和目标条目关键词,来确定目标任务线程所需使用的条目资源,并依据条目资源来决定是否向目标任务线程授权,即授权其使用条目资源。

步骤S302:在与所述目标资源类别对应的条目占用记录集合中,查找与所述目标条目关键词对应的占用记录,若未查找到,则进入步骤S303,若查找到,则进入步骤S305。

资源调度线程在确定目标任务线程所需使用的条目资源之后,为了避免资源冲突,首先查找该条目资源是否已被其它目标任务线程所使用。如果条目资源已被占用,则表明有另一任务线程在使用该条目资源,因此目标任务线程无法使用条目资源;如果条目资源未被占用,则表明目标任务线程可以使用条目资源。

下面介绍本申请查询条目资源是否已被其它任务线程具体实现过程:

在资源调度线程所在的CPU中或者在与CPU相连的存储器中,存储有各类资源的占用记录集合。每类资源利用一个资源类别表示,则每个资源类别对应一个占用记录集合,占用记录集合中记录有该资源类别下的条目关键词的占用记录。

例如,A类资源下条目关键词A对应的条目资源A已被对应的资源已被占用,则在资源类别A的占用记录集合中构建条目关键词A的占用记录。B类资源下的条目关键词B对应的条目资源B已被占用,则在资源类别B的占用记录集合中构建条目关键词B的占用记录。

资源调度线程可以在资源申请请求的操作请求消息中获得目标资源类别和目标条目关键词,然后在存储各类资源的占用记录集合的存储空间(CPU或与CPU相连的存储器)中,查找与目标资源类别对应的占用记录集合。与目标资源类别对应的占用记录集合中记录有该目标资源类别下的所有已被占用的条目关键词对应的条目资源。因此,可以在与目标资源类别对应的占用记录集合中查找是否有与目标条目关键词对应的占用记录。

如果与目标资源类别对应的占用记录集合中未记录有目标条目关键词的占用记录,则进入步骤S303,否则进入步骤S305。

步骤S303:若在与所述目标资源类别对应的条目占用记录中,未查找到与所述目标条目关键词对应的占用记录,则确认所述目标任务线程的所述资源申请请求。

若与所述目标资源类别对应的条目占用记录中,未查找到与所述目标条目关键词对应的占用记录,则表明目标条目关键词未被其它任务线程所占用。因此资源调度线程则可以确认目标任务线程的资源申请请求,即可以为目标任务线程授权,授权其使用所需的条目资源。

步骤S304:向所述目标任务线程反馈所述资源申请请求的确认结果。

在资源调度线程确认所述目标任务线程的所述资源申请请求之后,向目标任务线程反馈资源申请请求的确认结果,以便目标任务线程得知其具有操作条目资源的权限。此后,目标任务线程则可以使用条目资源。

可以理解的是,在资源调度线程确认所述目标任务线程的所述资源申请请求之后,资源调度线程则可以授权目标任务线程使用条目资源。此后一段时间内目标任务线程将占用目标条目关键词所对应的条目资源。

由于目标条目关键词所对应的条目资源已被占用,因此,可以创建与条目资源对应的占用记录。

创建与条目资源对应的占用记录,可以采用以下两种方式:

第一种方式:与所述目标资源类别对应的条目占用记录集合中,创建与所述目标条目关键词对应的占用记录。

第二种方式:与所述目标资源类别对应的条目占用记录集合中,创建与所述目标条目关键词和目标任务线程的目标标识对应的占用记录。

第二种方式与第一种方式相比,增加了目标任务线程的目标标识。

本申请可以采用两种方式创建与目标条目关键词对应的占用记录,以便其它任务线程在目标任务线程占用条目资源期间,不再使用该条目资源,从而避免资源冲突。

步骤S305:若在与所述目标资源类别对应的条目占用记录中,查找到与所述目标条目关键词对应的占用记录,则否认所述目标任务线程的所述资源申请请求。

若资源调度线程在与所述目标资源类别对应的条目占用记录中,查找到与所述目标条目关键词对应的占用记录,则说明目标条目关键词对应的条目资源已被其它任务线程占用,若继续使用该条目资源,则会产生资源冲突。因此,资源调度线程否认目标任务线程的资源申请请求。目标任务线程暂时不可以使用条目资源。

步骤S306:向所述目标任务线程反馈所述资源申请请求的否认结果。

在资源调度线程否认目标任务线程的资源申请请求之后,向目标任务线程反馈资源申请请求的否认结果,以便目标任务线程得知其自身目前无法继续使用与条目关键词对应的条目资源。

通过以上实施例可以得出,本申请在条目资源被占用的情况下,不允许任务线程占用条目资源,在条目资源未被占用的情况下,任务线程可以占用条目资源。可以理解的是,在具有多个并行任务线程时,本申请可以达到对同时使用同一条目资源的多个任务线程逐个执行,从而避免资源冲;针对使用不同条目资源的任务线程并行执行。

由于本申请中针对使用不同条目资源任务线程在同一时刻并行执行,针对使用同一条目资源的任务线程在不同时刻逐个执行。由于减少了逐个执行任务线程的数量,因此,缩短了执行任务线程的时间,因此提高了任务线程的执行效率。

例如,参见图2,现有技术中执行n个任务线程需要n个时刻,在使用本申请的后,由于T1、T3、T4……Tn任务线程在t1时刻并行执行,T2任务线程在t2时刻执行,由于减少逐个执行任务线程的数量,因此仅需要2个时刻便可完成n个任务线程,因此大大提高了任务线程的执行效率。执行多个任务线程所需要的时刻数量依据使用同一资源条目任务线程的数量不同而不 同,本例只是一个举例,并不指定所有的n个任务线程均可以在2个时刻执行完毕。

此外,本申请单独为各个任务线程创建一个资源调度线程,资源调度线程可以统一管控各个任务线程资源申请请求。使得各个任务线程不再执行资源调度过程,这从另一方面也可以提高任务线程的执行效率。

并且,任务线程仅仅是接收资源调度线程的一个确认结果和否认结果,任务线程在接收否认结果后不会像现有技术一样处于等待状态,而是可以继续执行其它软件程序,这从另一方面也可以提高任务线程的执行效率;也可以提高任务线程执行软件程序的灵活性。

下面对步骤S304和步骤S306中资源调度线程向目标任务线程反馈确认结果或否认结果的过程,进行进一步的介绍。

资源调度线程向目标任务线程反馈确认结果或否认结果可以采用以下两种方式来实现:

第一种方式:资源调度线程创建一个包含确认结果或否认结果的反馈消息,将反馈消息发送至目标任务线程。

由于目标任务线程向资源调度线程发送操作请求消息,一般情况下,资源调度线程以同样的格式向目标任务线程发送反馈消息。即,反馈消息中包括目标资源类别、目标条目关键词、申请类型和申请结果。在具体实现时可以将操作请求消息的目标资源类别、目标条目关键词和申请类型复制到反馈消息中,并在申请结果处写入确认结果或否认结果,从而生成反馈消息。

当资源调度线程向目标任务线程发送确认结果时,则构建包含目标资源类别、目标条目关键词、申请类型和确认结果的反馈消息,然后将反馈消息发送至目标任务线程。

当资源调度线程向目标任务线程发送否认结果时,则构建包含目标资源类别、目标条目关键词、申请类型和否认结果的反馈消息,然后将反馈消息发送至目标任务线程。

但是,在第一种方式中资源调度线程需要在操作请求消息中复制一些重复内容,执行步骤较为繁琐,并且由于反馈消息的内容较多,在资源调度线 程向目标任务线程发送的反馈消息用时较长,因此降低了反馈消息的传输效率。

为此,本申请提供资源调度线程向目标任务线程发送确认结果或否认结果的第二种方式。

在步骤S301的介绍中有涉及到,操作请求消息在内存中存储,操作请求消息中具有申请结果。因此,目标任务线程在可以在资源申请请求中添加第一位置指针,第一位置指针用于指向所述操作请求消息中申请结果的存储位置。

第二种方式:向第一位置指针指向的申请结果的存储位置中写入确认结果或否认结果。

在第二种方式中资源调度线程不再向目标任务线程发送反馈消息,而是直接依据第一位置指针在内存中查找到申请结果的存储位置,从而可以直接回写确认结果或否认结果即可,而不需向目标任务线程发送反馈消息。

目标任务线程检测资源申请消息中的申请结果便可以得知资源调度线程反馈的是确认结果还是否认结果。

在第二种方式中,向所述目标任务线程反馈所述资源申请请求的确认结果,具体包括:向所述第一位置指针指向的所述申请结果的存储位置中写入确认结果。向所述目标任务线程反馈所述资源申请请求的否认结果,具体包括:向所述第一位置指针指向的所述申请结果的存储位置中写入否认结果。

在第二种方式中资源调度线程以第一位置指针的方式向操作请求消息中回写申请结果,这样做的优势为可以减少CPU中内存的分配次数,避免内存碎片的产生;同时不需要从操作请求消息中向反馈消息中复制重复内容,因此简化处理过程,提高了回写确认结果和否认结果的处理效率。

在执行完成图3所示的实施例之后,若目标任务线程检测到申请结果为确认结果,则表示其可以使用条目资源。在目标任务线程接收到否认结果后,表明目标任务线程所需使用的条目资源目前已被另一任务线程占用,目标任务线程目前无法使用。

但是,在另一任务线程使用结束之后,目标任务线程便可以使用条目资源。因此,目标任务线程可以在延时预设时间后,可以重新向资源调度线程发送资源申请请求;资源调度线程会按照图3所示的实施例的方式,重新处理资源申请请求。

若目标任务线程所需使用的条目资源仍被占用,则资源调度线程继续向目标任务线程反馈否认结果。目标任务线程在接收否认结果后,仍然可以延时预设时间后,重新向资源调度线程发送资源申请请求,直到接收到资源调度线程反馈的确认结果。然后,目标任务线程则可以使用与目标条目关键词对应的条目资源。

目标任务线程结束使用与目标条目关键词对应的条目资源结束之后,需要释放与目标条目关键词对应的条目资源。即为了方便其它任务线程使用同一条目资源,在目标任务线程使用条目资源结束后,需要删除存储空间中与目标条目关键词对应的条目资源的占用记录。

下面介绍释放与目标条目关键词对应的条目资源的过程,如图4所示,本申请提供了一种资源释放方法,具体包括以下步骤:

步骤S401:接收所述目标任务线程发送的资源释放请求;其中,所述资源释放请求包括操作释放消息,所述操作释放消息包括目标资源类别和所述目标资源类别下的目标条目关键词。

在目标任务线程使用条目资源完毕之后,可以主动向资源调度线程发送资源释放请求,资源释放请求中包括操作释放消息。操作释放消息中包括目标任务线程所需释放条目资源所归属的目标资源类别,以及条目资源所对应的目标条目关键词。此外,操作释放消息中还具有操作类型和释放结果。在操作释放消息中操作类型为释放类型,释放类型用于表示目标任务线程向资源调度线程释放资源。在操作释放消息中释放结果,用于表示资源调度线程对操作释放消息的授权结果。释放结果可以有两种:等待状态和确认结果。其中,等待状态为资源调度线程还未处理操作释放消息时释放结果的状态,确认结果为资源调度线程确认操作释放消息时释放结果的状态。

目标任务线程在创建操作释放消息之后。可以将操作释放消息存储在CPU内存中,以便后续使用。然后将至少包含操作释放消息的资源释放请求发送至资源调度线程。

步骤S402:在与所述目标资源类别对应的条目占用记录集合中,删除与所述目标条目关键词对应的占用记录。

资源调度线程在接收资源释放请求之后,获得目标资源类别和目标条目关键词。然后在各类资源占用的存储空间中,查找与目标资源类别对应的占用记录集合;并在与目标资源类别对应的占用记录集合中,删除与所述目标条目关键词对应的占用记录。

步骤S403:向所述目标任务线程反馈所述资源释放请求的确认结果。

在删除与所述目标条目关键词对应的占用记录之后,向目标任务线程反馈所述资源释放请求的确认结果。

与资源调度线程向目标任务线程发送资源申请请求的确认结果类似,步骤S403中资源调度线程向目标任务线程发送资源释放请求的确认结果,也具有两种实现方式:

第一种方式:资源调度线程创建一个包含确认结果的反馈消息,将反馈消息发送至目标任务线程。

资源调度线程在操作释放消息中,将目标资源类别、目标条目关键词和申请类型复制到反馈消息中,并在申请结果处写入确认结果,从而生成反馈消息。然后,资源调度线程可以将反馈消息发送至目标任务线程。

第二种方式:向所述第二位置指针对应的所述释放结果中写入确认结果。

在步骤S401的介绍中有涉及到,操作释放消息在内存中存储,操作释放消息中具有释放结果。因此,目标任务线程在可以在资源释放请求中添加第二位置指针,第二位置指针用于指向所述操作释放消息中释放结果的存储位置。

在第二种方式中资源调度线程不再向目标任务线程发送反馈消息,而是直接依据第二位置指针在内存中查找到释放结果的存储位置,从而可以直接回写确认结果可,而不需向目标任务线程发送反馈消息。

目标任务线程检测操作释放消息中的释放结果便可以得知资源调度线程是否反馈了确认结果。在目标任务线程释放条目资源之后,其它任务线程便可以继续使用该条目资源,从而解决资源冲突的问题。

在一些情况下,目标任务线程可能出现故障,如若目标任务线程具有占用记录,则可能无法向资源调度线程发送资源释放请求。所以,本申请中,资源调度线程,可以在创建占用记录之后,便记录目标任务线程占用条目资源的占用时间。

若占用时间达到预设时间后,仍未收到目标任务线程发送的资源释放请求,资源调度线程可以查看目标任务线程是否处于正常状态。如经过查看发现目标任务线程处于正常状态,表明任务线程仍可以正常工作,此时无需处理。

若经过查看发现目标任务线程,未处于正常状态,则此时表明任务线程不可以正常工作。此时,目标任务线程可能无法释放资源,为了不影响其它任务线程使用条目资源,资源调度线程强制删除与所述目标标识对应的所有占用记录;以便其它任务线程可以继续使用条目资源。

图4所示的方式为目标任务线程主动向资源调度线程发送资源释放请求,在此之上,本申请中资源调度线程还可以以轮询方式释放资源。

具体方式可以为:在资源调度线程的占用记录中,各个占用记录与任务线程标识一一对应,所以,资源调度线程通过占用记录便可得知,具有占用记录的任务线程。然后以固定周期,向各个具有占用记录的各个任务线程发送资源是否使用完毕的询问请求。以目标任务线程为例,资源调度线程向目标任务线程发送资源是否使用完毕的询问请求。

目标任务线程若使用完毕,则将目标资源类别和目标条目关键词,发送至资源调度线程,供资源调度线程释放条目资源。资源调度线程在接收目标资源类别和目标条目关键词之后,在与所述目标资源类别对应的条目占用记录集合中,删除与所述目标条目关键词对应的占用记录。以上为资源调度线程所执行的具体过程,下面介绍目标任务线程所执行的具体过程。

如图5所示,本申请提供了一种资源申请方法,包括:

步骤S501:创建操作请求消息。

为了避免产生资源冲突,在目标任务线程使用条目资源之前,首先创建操作请求消息。所述操作请求消息包括目标资源类别和所述目标资源类别下的目标条目关键词。所述资源申请请求还可以包括目标任务线程的目标标识。

此外,操作请求消息中还具有操作类型和申请结果;在操作请求消息中操作类型为申请类型,申请类型用于表示目标任务线程向资源调度线程申请资源;申请结果用于表示资源调度线程对操作请求消息的授权结果。申请结果可以有三种:等待状态、确认结果和否认结果。其中,等待状态为资源调度线程还未处理操作请求消息时申请结果的状态,确认结果为资源调度线程确认操作请求消息时申请结果的状态,否认结果为资源调度线程否认操作请求消息时申请结果的状态。

目标任务线程在创建操作请求消息之后。可以将操作请求消息存储在CPU内存中,以便后续使用。

步骤S502:向资源调度线程发送资源申请请求;其中所述资源申请请求包括所述操作请求消息。然后,进入步骤S503或者步骤S504。

目标任务线程在创建操作请求消息之后,可以将至少包含操作请求消息的资源申请请求,发送至资源调度线程,供资源调度线程处理。资源调度线程在按图3所示的实施例执行之后,向目标任务线程反馈确认结果或者否认结果。

步骤S503:接收所述资源调度线程反馈的所述资源申请请求的确认结果;其中,所述确认结果为,所述资源调度线程利用在与所述目标资源类别对应的条目占用记录集合中未查找到与所述目标条目关键词对应的占用记录的方式,确认所述目标任务线程所述资源申请请求后,向所述目标任务线程发送的。

步骤S504:接收所述资源调度线程反馈的所述资源申请请求的否认结果;其中,所述否认结果为,所述资源调度线程利用在与所述目标资源类别对应的条目占用记录集合中查找到与所述目标条目关键词对应的占用记录的方式,否认所述目标任务线程所述资源申请请求后,向所述目标任务线程发送的。

下面介绍目标任务线程接收确认结果和否认结果的两种实现方式:

第一种方式:接收资源调度线程以反馈消息方式发送的确认结果和否认结果。

反馈消息中包括目标资源类别、目标条目关键词、申请类型和申请结果;目标任务线程在依据申请结果,来得知资源调度线程反馈的是确认结果还是否认结果。

第二种方式:接收资源调度线程向第一位置指针指向的所述申请结果的存储位置中写入的确认结果或否认结果。

在目标任务线程向资源调度线程发送的资源申请请求中,还可以包括第一位置指针,所述第一位置指针用于指向所述操作请求消息中申请结果的存储位置。

则所述接收所述资源调度线程反馈的所述资源申请请求的确认结果,包括:接收所述资源调度线程向所述第一位置指针指向的所述申请结果的存储位置中写入的确认结果。

则所述接收所述资源调度线程反馈的所述资源申请请求的否认结果,包括:接收所述资源调度线程向所述第一位置指针指向的所述申请结果的存储位置中写入的否认结果。目标任务线程在向资源调度线程发送资源申请请求发送之后,可以不断地检测资源申请请求中操作请求消息中的申请结果,如果申请结果不为等待状态,则说明资源调度线程已经处理资源申请请求。如果申请结果为确认结果,则说明资源调度线程授权目标任务线程使用条目资源,因此目标任务线程可以使用条目资源。如果目标任务线程检测到申请结果为否认结果,则说明资源调度线程未授权目标任务线程使用条目资源。

在执行完成图3所示的实施例之后,若目标任务线程检测到申请结果为确认结果,则表示其可以使用条目资源。在目标任务线程接收到否认结果后,表明目标任务线程所需使用的条目资源目前已被另一任务线程占用,目标任务线程目前无法使用。但是,在另一任务线程使用结束之后,目标任务线程便可以使用条目资源,因此目标任务线程在接收所述资源调度线程反馈的所述资源申请请求的否认结果之后,还包括:

在延迟预设时间后重新向所述资源调度线程发送所述资源申请请求的步骤,在接收到所述资源调度线程反馈的否认结果之后,重复执行在延迟预设时间后重新向所述资源调度线程发送所述资源申请请求的步骤,直到接收到所述资源调度线程反馈的确认结果。在目标任务线程获得确认结果之后,可以使用条目资源。

目标任务线程结束使用与目标条目关键词对应的条目资源结束之后,需要释放与目标条目关键词对应的条目资源。即为了方便其它任务线程使用同一条目资源,在目标任务线程使用条目资源结束后,需要删除存储空间中与目标条目关键词对应的条目资源的占用记录。

下面介绍释放与目标条目关键词对应的条目资源的过程,如图6所示,本申请提供了一种资源释放方法,具体包括以下步骤:

步骤S601:创建操作释放消息;其中,所述操作释放消息包括目标资源类别和所述目标条目关键词。

此外,操作释放消息中还具有操作类型和释放结果。在操作释放消息中操作类型为释放类型,释放类型用于表示目标任务线程向资源调度线程释放资源。在操作释放消息中释放结果,用于表示资源调度线程对操作释放消息的授权结果。释放结果可以有两种:等待状态和确认结果。其中,等待状态为资源调度线程还未处理操作释放消息时释放结果的状态,确认结果为资源调度线程确认操作释放消息时释放结果的状态。

步骤S602:向所述资源调度线程发送资源释放请求;其中,所述资源释放请求包括操作释放消息。

步骤S603:接收所述资源调度线程反馈的所述资源释放请求的确认结果。

与目标任务线程接收资源调度线程发送资源申请请求的确认结果类似,步骤S603中目标任务线程接收资源调度线程发送的资源释放请求的确认结果,也具有两种实现方式:

第一种方式:接收资源调度线程以反馈消息方式发送的确认结果。

资源调度线程在操作释放消息中,将目标资源类别、目标条目关键词和申请类型复制到反馈消息中,并在申请结果处写入确认结果,从而生成反馈 消息。然后,资源调度线程可以将反馈消息发送至目标任务线程,从而使得目标任务线程可以接收反馈消息。

第二种方式:接收资源调度线程向第二位置指针指向的所述释放结果的存储位置中写入的确认结果。

在步骤S501的介绍中有涉及到,操作释放消息在内存中存储,操作释放消息中具有释放结果。因此,目标任务线程在可以在资源释放请求中添加第二位置指针,第二位置指针用于指向所述操作释放消息中释放结果的存储位置。

在第二种方式中资源调度线程不再向目标任务线程发送反馈消息,而是直接依据第二位置指针在内存中查找到释放结果的存储位置,从而可以直接回写确认结果可,而不需向目标任务线程发送反馈消息。

目标任务线程在发送操作释放消息之后,不断检测操作释放消息中的释放结果便可以得知资源调度线程是否反馈了确认结果。在目标任务线程释放条目资源之后,其它任务线程便可以继续使用该条目资源,从而解决资源冲突的问题。由于图3和图4所示的实施例中,已详尽描述了目标任务线程的执行过程,因此在图5和图6所示的实施例为目标任务线程有不清楚的地方,可以参见图3和图4所示的实施例,在此不再赘述。

与图3所示的资源申请方法相对应,本申请还提供了一种资源申请装置。如图7所示,所述装置具体包括:

第一接收单元71,用于接收目标任务线程发送的资源申请请求;其中,所述资源申请请求包括操作请求消息,所述操作请求消息包括目标资源类别和所述目标资源类别下的目标条目关键词。

其中,所述第一接收单元71,还用于重新接收所述目标任务线程发送的所述资源申请请求。

第一确认单元72,用于若在与所述目标资源类别对应的条目占用记录集合中,未查找到与所述目标条目关键词对应的占用记录,则确认所述目标任务线程的所述资源申请请求。

第一反馈确认结果单元73,用于向所述目标任务线程反馈所述资源申请请求的确认结果。

此外,还包括与第一确认单元72相连的第一创建记录单元74,用于在与所述目标资源类别对应的条目占用记录集合中,创建与所述目标条目关键词对应的占用记录。

或者,与第一确认单元72相连的第二创建记录单元75,在所述资源申请请求还包括目标任务线程的目标标识的情况下,在与所述目标资源类别对应的条目占用记录集合中,创建与所述目标条目关键词和所述目标标识对应的占用记录。

否认单元76,用于若在与所述目标资源类别对应的条目占用记录集合中,查找到与所述目标条目关键词对应的占用记录,则否认所述目标任务线程的所述资源申请请求。

反馈否认结果单元77,用于向所述目标任务线程反馈所述资源申请请求的否认结果。

在所述资源申请请求还包括第一位置指针,所述第一位置指针用于指向所述操作请求消息中申请结果的存储位置。

则第一反馈确认结果单元73,具体用于:向所述第一位置指针指向的所述申请结果的存储位置中写入确认结果。

则反馈否认结果单元77,具体用于:向所述第一位置指针指向的所述申请结果的存储位置中写入否认结果。

如图8所示,本申请提供的一种资源释放装置,包括:

第二接收单元81,用于接收所述目标任务线程发送的资源释放请求;其中,所述资源释放请求包括操作释放消息,所述操作释放消息包括所述目标资源类别和所述目标条目关键词。

删除记录单元82,用于在与所述目标资源类别对应的条目占用记录集合中,删除与所述目标条目关键词对应的占用记录。

第二反馈确认结果单元83,用于向所述目标任务线程反馈所述资源释放请求的确认结果。

在所述资源释放请求还包括第二位置指针,所述第二位置指针用于指向所述操作释放消息中释放结果的存储位置。

则第二反馈确认结果单元83具体用于:向所述第二位置指针指向的所述释放结果的存储位置中写入确认结果。

如图9所示,在所述资源释放请求还包括所述目标任务线程的目标标识的情况下,资源释放装置还包括:

查看单元91,用于在预设时间内未接收到所述目标任务线程发送的资源释放请求,则查看所述目标任务线程是否处于正常状态;

所述删除记录单元82,还用于若所述目标任务线程未处于正常状态,则删除与所述目标标识对应的所有占用记录。

如图9所示,资源释放装置还包括:

发送询问请求单元93,用于向所述目标任务线程发送资源是否使用完毕的询问请求;

接收资源类别和关键词单元94,用于若所述目标任务线程的资源使用完毕,则接收所述目标任务线程发送的已使用完毕的资源类别和条目关键词;

所述删除记录单元82,还用于在与所述目标资源类别对应的条目占用记录集合中,删除与所述目标条目关键词对应的占用记录。

与图5所示的资源申请方法相对应,本申请还提供过了一种资源申请装置。如图10所示,所述装置包括:

第一创建消息单元101,用于创建操作请求消息;其中,所述操作请求消息包括目标资源类别和所述目标资源类别下的目标条目关键词。所述资源申请请求还包括目标任务线程的目标标识。

第一发送单元102,用于向资源调度线程发送资源申请请求;其中,所述资源申请请求包括所述操作请求消息。

第一接收确认结果单元103,用于接收所述资源调度线程反馈的所述资源申请请求的确认结果;其中,所述确认结果为,所述资源调度线程利用在与所述目标资源类别对应的条目占用记录集合中未查找到与所述目标条目关键词对应的占用记录的方式,确认所述目标任务线程所述资源申请请求后,向所述目标任务线程发送的。

接收否认结果单元104,用于接收所述资源调度线程反馈的所述资源申请请求的否认结果;其中,所述否认结果为,所述资源调度线程利用在与所述目标资源类别对应的条目占用记录集合中查找到与所述目标条目关键词对应的占用记录的方式,否认所述目标任务线程所述资源申请请求后,向所述目标任务线程发送的。

在所述资源申请请求还包括第一位置指针,所述第一位置指针用于指向所述操作请求消息中申请结果的存储位置。

则所述第一接收确认结果单元103,具体用于接收所述资源调度线程向所述第一位置指针指向的所述申请结果的存储位置中写入的确认结果。

则所述接收否认结果单元104,具体用于接收所述资源调度线程向所述第一位置指针指向的所述申请结果的存储位置中写入的否认结果。

其中,所述第一发送单元102,还用于在延迟预设时间后,重新向所述资源调度线程发送所述资源申请请求。

判断单元105,用于若接收到所述资源调度线程反馈的否认结果之后,触发所述第一发送单元102重复执行在延迟预设时间后重新向所述资源调度线程发送所述资源申请请求的步骤,直到接收到所述资源调度线程反馈的确认结果。

如图11所示,本申请还提供的资源释放装置,包括:

第二创建消息单元111,用于创建操作释放消息;其中,所述操作释放消息包括目标资源类别和所述目标条目关键词。所述资源释放请求还包括所述目标任务线程的目标标识。

第二发送单元112,用于向所述资源调度线程发送资源释放请求;其中,所述资源释放请求包括操作释放消息。

第二接收确认结果单元113,用于接收所述资源调度线程反馈的所述资源释放请求的确认结果。

在所述资源释放请求还包括第二位置指针,所述第二位置指针用于指向所述操作释放消息中的释放结果的存储位置。

则所述第二接收确认结果单元113,具体用于接收所述资源调度线程向所述第二位置指针指向的所述释放结果的存储位置中写入的确认结果。

如图12,所述资源释放装置,还包括:

接收询问请求单元121,用于接收所述资源调度线程发送的资源是否使用完毕的询问请求;

发送资源类别和关键词单元122,用于若资源使用完毕,则向所述资源调度线程发送已使用完毕的资源类别和条目关键词。

通过以上实施例可以得出,本申请在条目资源被占用的情况下,不允许任务线程占用条目资源,在条目资源未被占用的情况下,任务线程可以占用条目资源。可以理解的是,在具有多个并行任务线程时,本申请可以达到对同时使用同一条目资源的多个任务线程逐个执行,从而避免资源冲;针对使用不同条目资源的任务线程并行执行。

由于本申请中针对使用不同条目资源任务线程在同一时刻并行执行,针对使用同一条目资源的任务线程在不同时刻逐个执行。由于减少了逐个执行任务线程的数量,因此,缩短了执行任务线程的时间,因此提高了任务线程的执行效率。

本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1