[发明专利]全局变量的使用方法、装置、系统以及计算机可读存储介质在审
| 申请号: | 202011515034.6 | 申请日: | 2020-12-18 |
| 公开(公告)号: | CN112596877A | 公开(公告)日: | 2021-04-02 |
| 发明(设计)人: | 李宏强 | 申请(专利权)人: | 深圳TCL新技术有限公司 |
| 主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/52;G06F9/50 |
| 代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 胡海国 |
| 地址: | 518000 广东省深圳市南山区*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 全局变量 使用方法 装置 系统 以及 计算机 可读 存储 介质 | ||
本申请公开了一种全局变量的使用方法、装置、系统以及计算机可读存储介质,方法包括:获取第一全局变量的时间戳,所述第一全局变量为待执行程序的全局变量;根据所述时间戳确定所述第一全局变量是否发生改变;当确定所述第一全局变量没有发生改变时,获取读线程处理函数备份的第二全局变量,以使用所述第二全局变量进行功能运算。解决了在多线程读取全局变量,通过线程锁保持线程执行结果的一致性时,存在频繁进行解锁操作,降低线程执行效率的技术问题,提高了线程的执行效率。
技术领域
本申请涉及计算机技术领域,尤其涉及一种全局变量的使用方法、装置、系统以及计算机可读存储介质。
背景技术
在计算机系统通常需要通过跨线程读写全局变量,其可以使用线程锁的方式保证各线程运行结果的正确性。使用线程锁的方式对全局变量进行加锁后,在同一时刻只能有一个线程访问全局变量,其余线程只能进入等待。在线程非常频繁地读全局变量,并进行业务功能的计算时,会导致读写全局变量的线程被拖慢。并且,频繁地读取全局变量,每次都需要执行拿锁操作,会导致读线程的性能明显下降。
发明内容
本申请实施例通过提供一种全局变量的使用方法、装置、系统以及计算机可读存储介质,旨在解决在多线程读取全局变量时,通过线程锁保持线程执行结果的一致性时,存在频繁进行解锁操作,降低线程执行效率的技术问题。
为实现上述目的,本申请一方面提供一种全局变量的使用方法,包括:
获取第一全局变量的时间戳,所述第一全局变量为待执行程序的全局变量;
根据所述时间戳确定所述第一全局变量是否发生改变;
当确定所述第一全局变量没有发生改变时,获取读线程处理函数备份的第二全局变量,以使用所述第二全局变量进行功能运算。
可选地,所述根据所述时间戳确定所述第一全局变量是否发生改变的步骤,包括:
将所述第一全局变量的时间戳与读线程存储的所述第二全局变量的时间戳进行比对;
当比对一致时,则确认所述第一全局变量没有发生改变。
可选地,所述根据所述时间戳确定所述第一全局变量是否发生改变的步骤之后,包括:
当确定所述第一全局变量发生改变时,将所述第一全局变量赋值至所述读线程处理函数,以使用所述第一全局变量进行所述功能运算。
可选地,所述将所述第一全局变量赋值至所述读线程处理函数,以使用所述第一全局变量进行所述功能运算的步骤之前,包括:
获取线程锁的状态;
当所述线程锁的状态为解锁状态时,则获取所述线程锁内的所述第一全局变量;
将所述第一全局变量赋值至所述读线程处理函数。
可选地,所述获取线程锁的状态的步骤之后,包括:
若所述线程锁的状态为占用状态时,则申请写锁,以读取所述线程锁内的所述第一全局变量。
可选地,所述将所述第一全局变量赋值至所述读线程处理函数的步骤之后,包括:
将所述第一全局变量的时间戳修改为所述读线程处理函数备份的所述第一全局变量的时间戳,释放所述线程锁。
可选地,所述获取读线程处理函数备份的第二全局变量,以使用所述第二全局变量进行功能运算的步骤之后,所述方法还包括:
将所述功能运算的结果显示至显示界面。
此外,为实现上述目的,本申请另一方面还提供一种全局变量的使用装置,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳TCL新技术有限公司,未经深圳TCL新技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011515034.6/2.html,转载请声明来源钻瓜专利网。





