[发明专利]并行多线程参数透传的方法和系统在审
申请号: | 202110349269.0 | 申请日: | 2021-03-31 |
公开(公告)号: | CN112905363A | 公开(公告)日: | 2021-06-04 |
发明(设计)人: | 杨涛;王红奇 | 申请(专利权)人: | 浙江太美医疗科技股份有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/445 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 骆希聪 |
地址: | 314000 浙江省嘉兴市经济技*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 并行 多线程 参数 方法 系统 | ||
本发明提供了一种并行多线程参数透传的方法和系统。并行多线程的参数透传的方法包括以下步骤:通过任一线程创建任一线程的线程对象;通过中间件获取任一线程的上下文中需要透传的参数信息,并根据线程对象和参数信息构建代理线程对象;以及运行代理线程对象以生成新线程,同时将参数信息配置在新线程的上下文中。本发明的一种并行多线程参数透传的方法和系统,可以在创建新线程的同时直接透传参数,从而提高参数透传的准确性和通用性。
技术领域
本发明主要涉及多线程数据处理领域,尤其涉及一种并行多线程参数透传的方法和系统。
背景技术
在软件开发的过程中,经常遇到大量的需要传递相同参数的场景,程序员需要重复传递大量的租户/项目级别的参数用于各个不同调用层级的方法内的业务使用,如果漏传或者错传则可能导致数据错误或者业务异常等情况。
特别的,并行多线程以能够在同一时间执行多个线程从而提升系统整体的处理能力而被广泛的应用。在并行多线程的场景下,也时常会遇到需要传递参数的场景。具体的,在同一个开发项目中或者在同一应用中,在创建多线程的过程中,常有些具有公共属性的参数需要随现有的线程进行传递。
在现有技术中,各个开发者会自行的采用层层传递的方式传递自己需要的参数,或者是自己封装上下文对象包装这些具有公共属性的参数。然而这样的方式虽然无需特殊的设计且构思比较简单,但是也存在着诸多弊端。例如,现有的传递过程较为繁琐,而且采用开发者自行传递的方式可能会出错。而若是开发人员封装上下文,则在多线程的场景下也需要将该封装后的具有公共参数的上下文用同样认为的方式层层传递,且不同开发人员封装的上下文也可能存在无法兼容共用的问题,长期来说对于项目的开发也有不利影响。因此,采用现有的数据传递的方式,准确性和参数传递的通用性较差。
发明内容
本发明要解决的技术问题是提供一种并行多线程参数透传的方法和系统,可以在创建新线程的同时直接透传参数。
为解决上述技术问题,本发明提供了一种并行多线程参数透传的方法,包括以下步骤:通过任一线程创建所述任一线程的线程对象;通过中间件获取所述任一线程的上下文中需要透传的参数信息,并根据所述线程对象和所述参数信息构建代理线程对象;以及运行所述代理线程对象以生成新线程,同时将所述参数信息配置在所述新线程的上下文中。
在本发明的一实施例中,通过所述任一线程创建所述任一线程的线程对象的步骤包括:所述任一线程在调用函数中创建所述任一线程的线程对象,其中,所述调用函数调用所述中间件以获取所述参数信息并构建所述代理线程对象。
在本发明的一实施例中,所述中间件获取所述任一线程的上下文中需要透传的参数信息的步骤包括:在所述中间件中覆写并替换提交方法以生成提交方法副本;通过所述调用函数调用所述提交方法,从而直接调用所述中间件中的所述提交方法副本;以及所述提交方法副本获取所述任一线程的上下文中需要透传的所述参数信息。
在本发明的一实施例中,还包括在所述构建代理线程对象之后,将所述代理线程对象提交至线程池队列,并等待所述线程池队列运行所述代理线程对象。
在本发明的一实施例中,在所述任一线程创建所述任一线程的线程对象之前,还包括在所述任一线程的上下文中初始化第一线程本地存储实例,并在所述第一线程本地存储实例中存储第一组参数信息。
在本发明的一实施例中,还包括运行所述新线程以在所述新线程中调用所述参数信息,并在调用完成后清空所述新线程的上下文中的所述第一组参数信息。
在本发明的一实施例中,还包括在所述新线程的上下文中初始化第二线程本地存储实例,并在所述第二线程本地存储实例中存储第二组参数信息,其中所述第二组参数信息与所述第一组参数信息不完全相同。
在本发明的一实施例中,所述参数信息包括文字、数字和函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江太美医疗科技股份有限公司,未经浙江太美医疗科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110349269.0/2.html,转载请声明来源钻瓜专利网。