[发明专利]一种多线程的任务处理方法及相关装置在审
申请号: | 202310076347.3 | 申请日: | 2023-01-30 |
公开(公告)号: | CN116302391A | 公开(公告)日: | 2023-06-23 |
发明(设计)人: | 李辉;尤波 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/54 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 高勇 |
地址: | 250000 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多线程 任务 处理 方法 相关 装置 | ||
本申请公开了一种多线程的任务处理方法,包括:将接收的任务存放至线程对应的循环队列将循环队列中的任务按照先入先出的顺序进行出队;通过线程和线程对应的内存资源执行从循环队列出队的任务,得到执行结果。通过将接收到的任务存放至循环队列中,然后该循环队列按照顺序将任务继续进行出队,最后每出队一个任务,对应的线程和线程对应的内存资源执行该出队的任务,得到执行结果,实现了线程采用对应的内存资源按照顺序执行任务,避免出现任务抢占资源和线程的情况,使得不使用锁机制就实现了多线程的访问,提高多任务的处理效率。本申请还公开了一种多线程的任务处理装置、计算设备以及计算机可读存储介质,具有以上有益效果。
技术领域
本申请涉及计算机技术领域,特别涉及一种多线程的任务处理方法、任务处理装置、计算设备以及计算机可读存储介质。
背景技术
随着信息技术的不断发展,在服务器与存储设备中,需要处理高并发量的业务同时伴随着海量的IO。因此,服务器设备与存储设备对性能与稳定性有较高的要求,大多数场景都是多线程处理。
相关技术中,在多线程访问公共资源过程中需要进行上锁,但加锁会引入两个问题:一个是锁等待,另一个是线程切换,锁等待会增加耗时,线程切换增加额外调度开销,这两个问题对性能影响较大,但是不加锁可能造成数据污染,无法保证线程安全。
因此,如何避免使用加锁功能实现资源的访问时本领域技术人员关注的重点问题。
发明内容
本申请的目的是提供一种多线程的任务处理方法、任务处理装置、计算设备以及计算机可读存储介质,以避免采用的锁机制实现多线程的任务处理,提高多任务的处理效率。
为解决上述技术问题,本申请提供一种多线程的任务处理方法,包括:
将接收的任务存放至线程对应的循环队列;
将所述循环队列中的任务按照先入先出的顺序进行出队;
通过所述线程和所述线程对应的内存资源执行从所述循环队列出队的任务,得到执行结果;其中,所述内存资源为针对于所述线程申请的内存资源。
可选的,申请所述内存资源的过程,包括:
向内存管理模块发送内存申请;其中,所述内存管理模块用于管理原始内存池;
所述内存管理模块从所述原始内存池中分配内存空间,并返回所述内存空间的内存信息;
基于所述内存信息确定所述内存资源。
可选的,所述内存管理模块从所述原始内存池中分配内存空间,并返回所述内存空间的内存信息,包括:
所述内存管理模块从所述原始内存池中分配连续的内存空间;
将所述内存空间的内存信息进行返回。
可选的,创建所述循环队列的过程,包括:
基于多线程需求信息创建对应的循环队列,并将所述循环队列的入队出队操作指令设置为公共接口。
可选的,创建所述线程的过程,包括:
基于所述循环队列的数量创建对应的线程,并将每个所述线程的状态设置为常驻线程。
可选的,还包括:
当所述循环队列为空队列时,控制所述循环队列对应的线程执行空转操作。
可选的,将接收的任务存放至线程对应的循环队列,包括:
通过所述循环队列的入队操作接口将所述发送的任务存放至所述循环队列中。
本申请还提供一种多线程的任务处理装置,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310076347.3/2.html,转载请声明来源钻瓜专利网。