CN108153596A - 一种基于无锁队列的消息处理方法和装置 - Google Patents
一种基于无锁队列的消息处理方法和装置 Download PDFInfo
- Publication number
- CN108153596A CN108153596A CN201711346923.2A CN201711346923A CN108153596A CN 108153596 A CN108153596 A CN 108153596A CN 201711346923 A CN201711346923 A CN 201711346923A CN 108153596 A CN108153596 A CN 108153596A
- Authority
- CN
- China
- Prior art keywords
- message
- queue
- task message
- task
- main thread
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明提出一种基于无锁队列的消息处理方法,包括以下步骤:创建任务消息的消息队列,并对队列清空以实现消息队列的初始化;获取主线程接收到的任务消息,并将获取的任务消息放入消息队列的队尾;按照次序从消息队列的队头弹出任务消息,并检测任务消息的类型;根据检测所得的类型,调用对应的分发处理函数执行。本发明的有益效果为:充分利用中央处理器多核的特点并发管理任务消息的接收和分发,并通过轮流循环操作有序的处理每一个消息,使应用程序的执行效率得到大大提升,从而增加其稳定性。
Description
技术领域
本发明涉及计算机系统领域,尤其涉及一种基于无锁队列的消息处理方法和装置。
背景技术
在计算机领域中,随着应用程序功能的多样化和复杂化,其各线程之间需要通过大量的消息交流协作,使得软件能够正常地运行。但是,计算机中可分配调用的资源是有限的,当面对大量消息(例如是网络消息、游戏逻辑消息或者编辑器编辑消息)的时候,操作系统就会出现消息处理不过来的情况。具体地,此时操作系统要么丢失消息,使得相应的操作没有得到响应;要么消息需要等待较长的时间才能得到响应,从而使得程序运行不流畅。
为了处理上述情况,目前的主流方法是基于多线程的操作系统,对各条消息创建相应的线程执行。虽然上述方法使得应用程序的主线程逻辑执行不因消息响应的延迟而受到妨碍,但是其并没有改善消息响应延迟的问题。应用程序依然会在大量消息需要执行的情况下出现执行效率下降。
发明内容
本发明的目的是解决现有技术的不足,提供一种基于无锁队列的消息处理的方法和装置通过无锁队列轮流循环处理的机制和组合利用多线程的机制,能够获得提升应用程序执行效率和运行时稳定性的技术效果。
为了实现上述目的,本发明采用以下的技术方案。
首先,本发明提出一种基于无锁队列的消息处理方法,包括以下步骤:创建任务消息的消息队列,并对队列清空以实现消息队列的初始化;获取主线程接收到的任务消息,并将获取的任务消息放入消息队列的队尾;按照次序从消息队列的队头弹出任务消息,并检测任务消息的类型;根据检测所得的类型,调用对应的分发处理函数执行。
在本发明的一个方法实施例中,任务消息的放入和弹出是由区别于主线程的其他线程执行。
进一步地,在本发明的上述方法实施例中,任务消息的放入和弹出分别是由至少一个线程执行。
在本发明的一个方法实施例中,当消息队列在预设时间段内为空队列时,新获取主线程接收到的任务消息将直接返回由主线程执行。
在本发明的一个方法实施例中,在将获取的任务消息放入消息队列的队尾前还执行如下子步骤:校验所获取主线程接收到的任务消息,并对错误的任务消息执行容错处理。
进一步地,在本发明的上述方法实施例中,容错处理的处理时间超过预设阈值时,对应的任务消息将抛弃并给出警告;否则容错处理成功校正完毕后,任务消息将放入消息队列的队尾。
可替代地,在本发明的上述方法实施例中,任务消息的校验和容错处理是由区别于主线程的其他线程执行。
在本发明的一个方法实施例中,当消息队列的长度大于预设长度时将发出警告。
其次,本发明还提出一种基于无锁队列的消息处理装置,包括以下装置:初始化模块,用于创建任务消息的消息队列,并对队列清空以实现消息队列的初始化;入队模块,用于获取主线程接收到的任务消息,并将获取的任务消息放入消息队列的队尾;出队模块,用于按照次序从消息队列的队头弹出任务消息,并检测任务消息的类型;处理模块,用于根据检测所得的类型,调用对应的分发处理函数执行。
在本发明的一个装置实施例中,入队模块和出队模块是通过区别于主线程的其他线程执行消息的放入和弹出。
进一步地,在本发明的上述装置实施例中,入队模块和出队模块分别是由至少一个线程执行任务消息的放入和弹出。
在本发明的一个装置实施例中,当消息队列在预设时间段内为空队列时,入队模块将新获取主线程接收到的任务消息直接返回由主线程执行。
在本发明的一个装置实施例中,入队模块还包括如下子模块:校验模块,用于校验所获取主线程接收到的任务消息,并对错误的任务消息执行容错处理。
进一步地,在本发明的上述装置实施例中,容错处理的处理时间超过预设阈值时,入队模块抛弃对应的任务消息并给出警告;否则容错处理成功校正完毕后,入队模块将任务消息放入消息队列的队尾。
可替代地,在本发明的上述装置实施例中,校验模块是通过区别于主线程的其他线程执行任务消息的校验和容错处理。
在本发明的一个装置实施例中,当消息队列的长度大于预设长度时入队模块将发出警告。
最后,本发明还公开了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如前述任一项所述方法的步骤。
本发明的有益效果为:充分利用中央处理器多核的特点并发管理任务消息的接收和分发,并通过轮流循环操作有序的处理每一个消息,使应用程序的执行效率得到大大提升,从而增加其稳定性。
附图说明
图1所示为本发明所公开的基于无锁队列的消息处理方法的方法流程图;
图2所示为图1中的消息处理方法执行示意图;
图3所示为图1中将获取的任务消息放入消息队列的队尾的子步骤方法流程图;
图4所示为本发明所公开的基于无锁队列的消息处理装置的结构模块图。
具体实施方式
以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。附图中各处使用的相同的附图标记指示相同或相似的部分。
参照图1所示的方法流程图,在本发明所公开的一个实施例,基于无锁队列的消息处理方法包括如下步骤:创建任务消息的消息队列,并对队列清空以实现消息队列的初始化;获取主线程接收到的任务消息,并将获取的任务消息放入消息队列的队尾;按照次序从消息队列的队头弹出任务消息,并检测任务消息的类型;根据检测所得的类型,调用对应的分发处理函数执行。具体地,用于存放任务消息的消息队列不会被某个线程锁定,即线程将任务消息放入到消息队列的队尾不会导致无法从消息队列的队头弹出消息。由于以上的操作是针对队列的两端执行,因此其并不会破坏消息队列本身的次序。可存放在消息队列内的任务消息可以是网络消息、游戏逻辑消息或者是编辑器编辑消息。消息队列对此不予区分,都在该消息队列内处理。同时,由于消息队列内的任务消息按照先进先出的次序处理,因此消息队列内的任务消息可被有序执行。
参照图2所示的消息处理方法执行示意图,在本发明的一个实施例中,任务消息的放入和弹出是由区别于主线程的其他线程执行的。此时,由于任务消息的处理是由其他线程执行的,因此主线程不需要等待前一任务消息处理完毕后才处理后一任务消息,从而减少应用程序的等待导致的运行不流畅或者任务消息过多导致的丢失问题。
进一步地,任务消息的放入和弹出分别是由至少一个线程执行,即多个线程可分别对消息队列的队头和队尾执行操作,以提高消息队列的操作效率。
在本发明的一个实施例中,当消息队列在预设时间段内都为空队列时,表明当前有足够资源及时响应主线程的消息,此时新获取主线程接收到的任务消息将直接返回由主线程执行,避免线程间的多次切换而降低执行效率。当预设时间段内有多个任务消息被主线程接收,表明当前计算机系统内的资源相对紧张,需要通过消息队列对各种任务消息管理。
在本发明的一个实施例中,在将获取的任务消息放入消息队列的队尾前还执行如下子步骤:校验所获取主线程接收到的任务消息,并对错误的任务消息执行容错处理。任务消息的错误可以是其本身所包含的异常数据而导致的无法处理。任务消息的入队前检验是为了避免上述异常数据的容错处理影响其他正常任务消息的响应。
进一步地,在本发明的上述实施例中,容错处理的处理时间超过预设阈值时,对应的任务消息将抛弃并给出警告;否则容错处理成功校正完毕后,任务消息将放入消息队列的队尾,以确保消息队列内的任务消息是经过校验的,使得消息队列内的任务消息可以被正常地分发处理。
可替代地,在本发明的上述实施例中,任务消息的校验和容错处理是由区别于主线程的其他线程执行。类似地,由于任务消息的处理是由其他线程执行的,因此消息队列不需要等待前一任务消息校验完毕后才处理后一任务消息,从而减少应用程序的等待导致的运行不流畅或者任务消息过多导致的丢失问题。
在本发明的一个实施例中,当消息队列的长度大于预设长度时将发出警告。具体地,可以通过抛出异常的方式表明计算机系统当前处于繁忙状态。
在本发明的一个实施例中,任务消息的放入和弹出是由区别于主线程的其他线程执行的。此时,由于任务消息的处理是由其他线程执行的,因此主线程不需要等待前一任务消息处理完毕后才处理后一任务消息,从而减少应用程序的等待导致的运行不流畅或者任务消息过多导致的丢失问题。
进一步地,任务消息的放入和弹出分别是由至少一个线程执行,即多个线程可分别对消息队列的队头和队尾执行操作,以提高消息队列的操作效率。
在本发明的一个实施例中,当消息队列在预设时间段内都为空队列时,表明当前有足够资源及时响应主线程的消息,此时新获取主线程接收到的任务消息将直接返回由主线程执行,避免线程间的多次切换而降低执行效率。当预设时间段内有多个任务消息被主线程接收,表明当前计算机系统内的资源相对紧张,需要通过消息队列对各种任务消息管理。
参照图3所示流程图,在本发明的一个实施例中,在将获取的任务消息放入消息队列的队尾前还执行如下子步骤:校验所获取主线程接收到的任务消息,并对错误的任务消息执行容错处理。任务消息的错误可以是其本身所包含的异常数据而导致的无法处理。任务消息的入队前检验是为了避免上述异常数据的容错处理影响其他正常任务消息的响应。
进一步地,在本发明的上述实施例中,容错处理的处理时间超过预设阈值时,对应的任务消息将抛弃并给出警告;否则容错处理成功校正完毕后,任务消息将放入消息队列的队尾,以确保消息队列内的任务消息是经过校验的,使得消息队列内的任务消息可以被正常地分发处理。
可替代地,在本发明的上述实施例中,任务消息的校验和容错处理是由区别于主线程的其他线程执行。类似地,由于任务消息的处理是由其他线程执行的,因此消息队列不需要等待前一任务消息校验完毕后才处理后一任务消息,从而减少应用程序的等待导致的运行不流畅或者任务消息过多导致的丢失问题。
在本发明的一个实施例中,当消息队列的长度大于预设长度时将发出警告。具体地,可以通过抛出异常的方式表明计算机系统当前处于繁忙状态。
参照图4所示的模块结构图,在本发明所公开的一个实施例,基于无锁队列的消息处理装置包括如下模块:初始化模块,用于创建任务消息的消息队列,并对消息队列清空以实现消息队列的初始化;入队模块,用于获取主线程接收到的任务消息,并将获取的任务消息放入消息队列的队尾;出队模块,用于按照次序从消息队列的队头弹出任务消息,并检测任务消息的类型;处理模块,用于根据检测所得的类型,调用对应的分发处理函数执行。具体地,用于存放任务消息的消息队列不会被某个线程锁定,即线程将任务消息放入到消息队列的队尾不会导致无法从消息队列的队头弹出消息。由于入队模块和出队模块是分别针对队列的两端执行,因此其并不会破坏消息队列本身的次序。可存放在消息队列内的任务消息可以是网络消息、游戏逻辑消息或者是编辑器编辑消息。入队模块和出队模块对此不予区分,都在该消息队列内处理。同时,由于消息队列内的任务消息按照先进先出的次序处理,因此消息队列内的任务消息可被有序执行。
在本发明的一个实施例中,入队模块和出对模块是通过区别于主线程的其他线程执行消息的放入和弹出。此时,由于任务消息的处理是由其他线程执行的,因此主线程不需要等待前一任务消息处理完毕后才处理后一任务消息,从而减少应用程序的等待导致的运行不流畅或者任务消息过多导致的丢失问题。
进一步地,入队模块和出对模块分别是由至少一个线程执行任务消息的放入和弹出,即多个线程可分别对消息队列的队头和队尾执行操作,以提高消息队列的操作效率。
在本发明的一个实施例中,当消息队列在预设时间段内为空队列时,表明当前有足够资源及时响应主线程的消息,此时入队模块将新获取主线程接收到的任务消息直接返回由主线程执行,避免线程间的多次切换而降低执行效率。当预设时间段内有多个任务消息被主线程接收,表明当前计算机系统内的资源相对紧张,这需要通过消息队列对各种任务消息管理。
在本发明的一个实施例中,入队模块还包括如下子模块:校验模块,用于校验所获取主线程接收到的任务消息,并对错误的任务消息执行容错处理。任务消息的错误可以是其本身所包含的异常数据而导致的无法处理。校验模块在任务消息的入队前检验,避免了上述异常数据的容错处理影响其他正常任务消息的响应。
进一步地,在本发明的上述实施例中,容错处理的处理时间超过预设阈值时,入队模块抛弃对应的任务消息并给出警告;否则容错处理成功校正完毕后,入队模块将任务消息放入消息队列的队尾,以确保消息队列内的任务消息是经过校验的,使得消息队列内的任务消息可以被正常地分发处理。
可替代地,在本发明的上述实施例中,校验模块是通过区别于主线程的其他线程执行任务消息的校验和容错处理。类似地,由于任务消息的处理是由其他线程执行的,因此消息队列不需要等待前一任务消息校验完毕后才处理后一任务消息,从而减少应用程序的等待导致的运行不流畅或者任务消息过多导致的丢失问题。
在本发明的一个实施例中,当消息队列的长度大于预设长度时将发出警告。具体地,可以通过抛出异常的方式表明计算机系统当前处于繁忙状态。
在本发明的一个实施例中,任务消息的放入和弹出是由区别于主线程的其他线程执行的。此时,由于任务消息的处理是由其他线程执行的,因此主线程不需要等待前一任务消息处理完毕后才处理后一任务消息,从而减少应用程序的等待导致的运行不流畅或者任务消息过多导致的丢失问题。
进一步地,任务消息的放入和弹出分别是由至少一个线程执行,即多个线程可分别对消息队列的队头和队尾执行操作,以提高消息队列的操作效率。
在本发明的一个实施例中,当消息队列在预设时间段内为空队列时,表明当前有足够资源及时响应主线程的消息,此时新获取主线程接收到的任务消息将直接返回由主线程执行,避免线程间的多次切换而降低执行效率。当预设时间段内有多个任务消息被主线程接收,表明当前计算机系统内的资源相对紧张,需要通过消息队列对各种任务消息管理。
参照图3所示流程图,在本发明的一个实施例中,在将获取的任务消息放入消息队列的队尾前还执行如下子步骤:校验所获取主线程接收到的任务消息,并对错误的任务消息执行容错处理。任务消息的错误可以是其本身所包含的异常数据而导致的无法处理。任务消息的入队前检验是为了避免上述异常数据的容错处理影响其他正常任务消息的响应。
进一步地,在本发明的上述实施例中,容错处理的处理时间超过预设阈值时,对应的任务消息将抛弃并给出警告;否则容错处理成功校正完毕后,任务消息将放入消息队列的队尾,以确保消息队列内的任务消息是经过校验的,使得消息队列内的任务消息可以被正常地分发处理。
可替代地,在本发明的上述实施例中,任务消息的校验和容错处理是由区别于主线程的其他线程执行。类似地,由于任务消息的处理是由其他线程执行的,因此消息队列不需要等待前一任务消息校验完毕后才处理后一任务消息,从而减少应用程序的等待导致的运行不流畅或者任务消息过多导致的丢失问题。
在本发明的一个实施例中,当消息队列的长度大于预设长度时将发出警告。具体地,可以通过抛出异常的方式表明计算机系统当前处于繁忙状态。
尽管本发明的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例或任何特殊实施例,而是应当将其视作是通过参考所附权利要求考虑到现有技术为这些权利要求提供广义的可能性解释,从而有效地涵盖本发明的预定范围。此外,上文以发明人可预见的实施例对本发明进行描述,其目的是为了提供有用的描述,而那些目前尚未预见的对本发明的非实质性改动仍可代表本发明的等效改动。
Claims (10)
1.一种基于无锁队列的消息处理方法,其特征在于,包括以下步骤:
创建任务消息的队列,并对队列清空以实现队列的初始化;
获取主线程接收到的任务消息,并将获取的任务消息放入消息队列的队尾;
按照次序从消息队列的队头弹出任务消息,并检测任务消息的类型;
根据检测所得的类型,调用对应的分发处理函数执行。
2.根据权利要求1所述方法,其特征在于,任务消息的放入和弹出是由区别于主线程的其他线程执行。
3.根据权利要求2所述方法,其特征在于,任务消息的放入和弹出分别是由至少一个线程执行。
4.根据权利要求1所述方法,其特征在于,当消息队列在预设时间段内都为空队列时,新获取主线程接收到的任务消息将直接返回由主线程执行。
5.根据权利要求1所述方法,其特征在于,在将获取的任务消息放入消息队列的队尾前还执行如下子步骤:
校验所获取主线程接收到的任务消息,并对错误的任务消息执行容错处理。
6.根据权利要求5所述方法,其特征在于,容错处理的处理时间超过预设阈值时,将抛弃对应的任务消息并给出警告;否则容错处理成功校正完毕后,任务消息将放入消息队列的队尾。
7.根据权利要求5所述方法,其特征在于,任务消息的校验和容错处理是由区别于主线程的其他线程执行。
8.根据权利要求1所述方法,其特征在于,当消息队列的长度大于预设长度时将发出警告。
9.一种基于无锁队列的消息处理装置,其特征在于,包括以下模块:
初始化模块,用于创建任务消息的消息队列,并对队列清空以实现消息队列的初始化;
入队模块,用于获取主线程接收到的任务消息,并将获取的任务消息放入消息队列的队尾;
出队模块,用于按照次序从消息队列的队头弹出任务消息,并检测任务消息的类型;
处理模块,用于根据检测所得的类型,调用对应的分发处理函数执行。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于该指令被处理器执行时实现如权利要求1至8中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711346923.2A CN108153596A (zh) | 2017-12-15 | 2017-12-15 | 一种基于无锁队列的消息处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711346923.2A CN108153596A (zh) | 2017-12-15 | 2017-12-15 | 一种基于无锁队列的消息处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108153596A true CN108153596A (zh) | 2018-06-12 |
Family
ID=62467181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711346923.2A Pending CN108153596A (zh) | 2017-12-15 | 2017-12-15 | 一种基于无锁队列的消息处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108153596A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109413489A (zh) * | 2018-09-29 | 2019-03-01 | 武汉斗鱼网络科技有限公司 | 串行式的多线程弹幕分发方法、装置、设备和存储介质 |
CN109582445A (zh) * | 2018-09-29 | 2019-04-05 | 阿里巴巴集团控股有限公司 | 消息处理方法、装置、电子设备及计算机可读存储介质 |
CN110351203A (zh) * | 2019-07-12 | 2019-10-18 | 苏州亿歌网络科技有限公司 | 一种消息处理方法、装置、系统、服务器及存储介质 |
CN111638854A (zh) * | 2020-05-26 | 2020-09-08 | 北京同有飞骥科技股份有限公司 | Nas构建的性能优化方法、装置及san堆栈块设备 |
CN113961361A (zh) * | 2021-11-10 | 2022-01-21 | 重庆紫光华山智安科技有限公司 | 一种缓存资源的控制方法和系统 |
WO2023279829A1 (zh) * | 2021-07-06 | 2023-01-12 | 深圳Tcl新技术有限公司 | 消息延迟检测方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103164267A (zh) * | 2013-03-29 | 2013-06-19 | 汉柏科技有限公司 | 无锁消息队列实现方法 |
CN103473129A (zh) * | 2013-09-18 | 2013-12-25 | 柳州市博源环科科技有限公司 | 线程数目可伸缩的多任务队列调度系统及其实现方法 |
CN104168217A (zh) * | 2014-08-15 | 2014-11-26 | 杭州华三通信技术有限公司 | 一种先入先出队列调度方法及装置 |
US20160154678A1 (en) * | 2014-11-28 | 2016-06-02 | Canon Kabushiki Kaisha | Reverting tightly coupled threads in an over-scheduled system |
CN106250254A (zh) * | 2016-07-21 | 2016-12-21 | 腾讯科技(深圳)有限公司 | 一种任务处理方法及系统 |
CN106293973A (zh) * | 2016-08-17 | 2017-01-04 | 深圳市金证科技股份有限公司 | 无锁消息队列通信方法及系统 |
-
2017
- 2017-12-15 CN CN201711346923.2A patent/CN108153596A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103164267A (zh) * | 2013-03-29 | 2013-06-19 | 汉柏科技有限公司 | 无锁消息队列实现方法 |
CN103473129A (zh) * | 2013-09-18 | 2013-12-25 | 柳州市博源环科科技有限公司 | 线程数目可伸缩的多任务队列调度系统及其实现方法 |
CN104168217A (zh) * | 2014-08-15 | 2014-11-26 | 杭州华三通信技术有限公司 | 一种先入先出队列调度方法及装置 |
US20160154678A1 (en) * | 2014-11-28 | 2016-06-02 | Canon Kabushiki Kaisha | Reverting tightly coupled threads in an over-scheduled system |
CN106250254A (zh) * | 2016-07-21 | 2016-12-21 | 腾讯科技(深圳)有限公司 | 一种任务处理方法及系统 |
CN106293973A (zh) * | 2016-08-17 | 2017-01-04 | 深圳市金证科技股份有限公司 | 无锁消息队列通信方法及系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109413489A (zh) * | 2018-09-29 | 2019-03-01 | 武汉斗鱼网络科技有限公司 | 串行式的多线程弹幕分发方法、装置、设备和存储介质 |
CN109582445A (zh) * | 2018-09-29 | 2019-04-05 | 阿里巴巴集团控股有限公司 | 消息处理方法、装置、电子设备及计算机可读存储介质 |
CN110351203A (zh) * | 2019-07-12 | 2019-10-18 | 苏州亿歌网络科技有限公司 | 一种消息处理方法、装置、系统、服务器及存储介质 |
CN111638854A (zh) * | 2020-05-26 | 2020-09-08 | 北京同有飞骥科技股份有限公司 | Nas构建的性能优化方法、装置及san堆栈块设备 |
WO2023279829A1 (zh) * | 2021-07-06 | 2023-01-12 | 深圳Tcl新技术有限公司 | 消息延迟检测方法、装置、电子设备及存储介质 |
GB2623692A (en) * | 2021-07-06 | 2024-04-24 | Shenzhen Tcl New Tech Co Ltd | Message delay detection method and apparatus, electronic device, and storage medium |
CN113961361A (zh) * | 2021-11-10 | 2022-01-21 | 重庆紫光华山智安科技有限公司 | 一种缓存资源的控制方法和系统 |
CN113961361B (zh) * | 2021-11-10 | 2024-04-16 | 重庆紫光华山智安科技有限公司 | 一种缓存资源的控制方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108153596A (zh) | 一种基于无锁队列的消息处理方法和装置 | |
CN101694631B (zh) | 实时作业调度系统及方法 | |
US8112559B2 (en) | Increasing available FIFO space to prevent messaging queue deadlocks in a DMA environment | |
EP3458959B1 (en) | Reconfigurable distributed processing | |
US10467054B2 (en) | Resource management method and system, and computer storage medium | |
CN106331065A (zh) | 一种用于具有服务容器的主机系统的代理应用以及系统 | |
CN107273231A (zh) | 分布式存储系统硬盘挂住故障检测、处理方法及装置 | |
CN103744723A (zh) | 一种线程池的管理方法和管理系统 | |
CN107577539A (zh) | 用于内核态和用户态通讯的共享内存结构及其应用 | |
CN103699437A (zh) | 一种资源调度方法及设备 | |
US20020116436A1 (en) | Context preservation | |
CN102521265A (zh) | 一种海量数据管理中动态一致性控制方法 | |
EP3537281A1 (en) | Storage controller and io request processing method | |
CN110209493A (zh) | 内存管理方法、装置、电子设备及存储介质 | |
CN103839007A (zh) | 一种检测异常线程的方法及系统 | |
US20110173287A1 (en) | Preventing messaging queue deadlocks in a dma environment | |
CN107203428A (zh) | 一种基于Xen的VCPU多核实时调度算法 | |
CN112306669A (zh) | 一种基于多核系统的任务处理方法及装置 | |
US9537790B1 (en) | Breadth-first resource allocation system and methods | |
EP3208709B1 (en) | Batch processing method and device for system invocation commands | |
CN106325995A (zh) | 一种gpu资源的分配方法及系统 | |
CN109358917A (zh) | 一种通用异步任务执行方法及装置 | |
CN116450328A (zh) | 内存分配方法、装置、计算机设备和存储介质 | |
CN106155796A (zh) | 一种基于队列的线程调度方法及装置 | |
CN103970597A (zh) | 读写均衡的阻塞队列实现方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180612 |