[发明专利]监测主线程的阻塞的方法和装置在审
| 申请号: | 201710811083.6 | 申请日: | 2017-09-11 |
| 公开(公告)号: | CN107590015A | 公开(公告)日: | 2018-01-16 |
| 发明(设计)人: | 吴迪;程剑锋;朱孝瑾;王孝满;袁连松 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
| 主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F11/36 |
| 代理公司: | 中原信达知识产权代理有限责任公司11219 | 代理人: | 张一军,姜劲 |
| 地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 监测 主线 阻塞 方法 装置 | ||
1.一种监测主线程的阻塞的方法,其特征在于,包括:
执行下述监测过程:
在被监测的所述主线程的执行队列中加入变量更改函数,所述变量更改函数用于更改预设的阻塞判断变量的值;
在预定的时间间隔后,检查所述阻塞判断变量的值是否被更改,当所述阻塞判断变量的值未被更改,则确定所述主线程发生阻塞。
2.根据权利要求1所述的方法,其特征在于,所述监测过程重复执行。
3.根据权利要求2所述的方法,其特征在于,
所述更改所述阻塞判断变量的值是指将所述阻塞判断变量的值由阻塞状态值更改为非阻塞状态值,
所述检查预设的阻塞判断变量的值是否被更改的步骤包括:
检查所述阻塞判断变量的值是否为阻塞状态值,其中,所述阻塞判断变量的初始值被设置为非阻塞状态值,
当所述阻塞判断变量的值为阻塞状态值则确定所述主线程发生阻塞,并且
当所述阻塞判断变量的值为非阻塞状态值则将其更改为阻塞状态值。
4.根据权利要求2所述的方法,其特征在于,还包括:
在每次执行所述监测过程中,检查预设的循环结束变量的值是否被设置为结束状态值,当所述循环结束变量的值为结束状态值时,则结束所述监测过程的执行。
5.根据权利要求1至4任一项所述的方法,其特征在于,当所述阻塞判断变量的值未被更改,除了确定所述主线程发生阻塞,还执行下述调用栈获取过程:
创建地址数组;
获取所述主线程的环境变量,把所述环境变量中记录的该主线程的指令地址记录到所述地址数组中,
其中,获取的所述环境变量中记录当前的节点变量,所述当前的节点变量包括:当前主线程正在执行的函数的调用地址以及指向链表中上一个节点变量的指针,
以所述当前的节点变量为起点,根据所述指针遍历链表,依次把该链表中每个节点变量的函数的调用地址记录到所述地址数组中,从而获得当前主线程正在执行的函数的调用栈。
6.根据权利要求5所述的方法,其特征在于,在所述调用栈获取过程中还包括:
在获得当前主线程正在执行的函数的调用栈之后,判断是否需要对所述地址数组进行符号化,当不需要时,则依据所述地址数组生成阻塞报告,当需要时,对所述地址数组进行符号化,并依据经符号化后的所述地址数组生成阻塞报告;
保存所述阻塞报告。
7.根据权利要求2所述的方法,其特征在于,所述预定的时间间隔的区间为{Y,min(20,X)},其中,Y为主线程上最耗时函数的执行时长的秒数,X为用户对应用卡顿的容忍时长的秒数,min(20,X)为在20与X中的较小值。
8.一种监测主线程的阻塞的装置,其特征在于,包括:阻塞监测模块,用于执行下述监测过程:
在被监测的所述主线程的执行队列中加入变量更改函数,所述变量更改函数用于更改预设的阻塞判断变量的值;
在预定的时间间隔后,检查所述阻塞判断变量的值是否被更改,当所述阻塞判断变量的值未被更改,则确定所述主线程发生阻塞。
9.根据权利要求10所述的装置,其特征在于,所述阻塞监测模块进一步用于重复执行所述监测过程。
10.根据权利要求11所述的装置,其特征在于,所述阻塞监测模块进一步用于检查所述阻塞判断变量的值是否为阻塞状态值,其中,所述阻塞判断变量的初始值被设置为非阻塞状态值,当所述阻塞判断变量的值为阻塞状态值则确定所述主线程发生阻塞,并且当所述阻塞判断变量的值为非阻塞状态值则将其更改为阻塞状态值,所述更改所述阻塞判断变量的值是指将所述阻塞判断变量的值由阻塞状态值更改为非阻塞状态值。
11.根据权利要求11所述的装置,其特征在于,所述阻塞监测模块进一步用于在每次执行所述监测过程中,检查预设的循环结束变量的值是否被设置为结束状态值,当所述循环结束变量的值为结束状态值时,则结束所述监测过程的执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710811083.6/1.html,转载请声明来源钻瓜专利网。





