CN106201731A - 一种用户态读写锁死锁检测方法及系统 - Google Patents
一种用户态读写锁死锁检测方法及系统 Download PDFInfo
- Publication number
- CN106201731A CN106201731A CN201610532715.0A CN201610532715A CN106201731A CN 106201731 A CN106201731 A CN 106201731A CN 201610532715 A CN201610532715 A CN 201610532715A CN 106201731 A CN106201731 A CN 106201731A
- Authority
- CN
- China
- Prior art keywords
- read
- write locks
- user space
- deadlock
- lockdep
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/524—Deadlock detection or avoidance
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种用户态读写锁死锁检测方法,包括:将用户态读写锁数据结构与lockdep_map数据结构进行封装;对引入内核lockdep死锁程序的用户态读写锁接口API进行封装;将封装后的用户态读写锁接口,编译成用户态读写锁检测动态静态链接库,生成读写锁死锁检测库文件;根据所述读写锁死锁检测库文件编译读写锁死锁检测操作;执行所述读写锁死锁检测操作,若存在死锁,则打印死锁信息;对linux用户态读写锁的数据结构和读写锁接口API进行封装,通过调用内核lockdep死锁检测函数对用户态读写锁死锁进行检测;本发明还公开了一种用户态读写锁死锁检测系统。
Description
技术领域
本发明涉及操作系统故障管理领域,特别涉及一种用户态读写锁死锁检测方法及系统。
背景技术
死锁就是多个进程(线程)因为等待别的进程已占有的自己所需要的资源而陷入阻塞的一种状态,死锁状态一旦形成,进程本身是解决不了的,需要外在的推动,才能解决,最重要的是死锁不仅仅影响进程业务,而且还会占用系统资源,影响其他进程。内核死锁是长期困扰内核开发人员的问题之一;Linux系统用户态C程序同样存在用户态读写锁死锁问题,因此,如何准确的检测出用户态读写锁死锁,是本领域技术人员需要解决的技术问题。
发明内容
本发明的目的是提供一种用户态读写锁死锁检测方法及系统,对linux用户态读写锁的数据结构和读写锁接口API进行封装,通过调用内核lockdep死锁检测函数对用户态读写锁死锁进行检测。
为解决上述技术问题,本发明提供一种用户态读写锁死锁检测方法,包括:
S100、将用户态读写锁数据结构与lockdep_map数据结构进行封装;
S110、对引入内核lockdep死锁程序的用户态读写锁接口API进行封装;
S120、将封装后的用户态读写锁接口,编译成用户态读写锁检测动态静态链接库,生成读写锁死锁检测库文件;
S130、根据所述读写锁死锁检测库文件编译读写锁死锁检测操作;执行所述读写锁死锁检测操作,若存在死锁,则打印死锁信息。
其中,步骤S100包括:
将用户态读写锁数据结构pthread_rwlock_t添加lockdep模块死锁检测需要的lockdep_map数据结构。
其中,步骤S110包括:
引入内核lockdep死锁程序,定义用户态文件;其中,所述用户态文件包括lockdep.c、lockdep_states.h和lockdep_internals.h;
根据所述用户态文件对用户态读写锁接口进行封装;其中,所述用户态读写锁接口包括:PTHREAD_RWLOCK_INITIALIZER、pthread_rwlock_init、pthread_rwlock_rdlock、pthread_rwlock_unlock、pthread_rwlock_wrlock、pthread_rwlock_tryrdlock、pthread_rwlock_trywlock、pthread_rwlock_destroy。
其中,执行所述读写锁死锁检测操作,包括:
判断编译时是否引入所述读写锁死锁检测库文件;
若引入,则执行所述读写锁死锁检测操作。
本发明还提供一种用户态读写锁死锁检测系统,包括:
数据结构封装模块,用于将用户态读写锁数据结构与lockdep_map数据结构进行封装;
接口封装模块,用于对引入内核lockdep死锁程序的用户态读写锁接口API进行封装;
编译模块,用于将封装后的用户态读写锁接口,编译成用户态读写锁检测动态静态链接库,生成读写锁死锁检测库文件;
用户态程序模块,用于根据所述读写锁死锁检测库文件编译读写锁死锁检测操作;执行所述读写锁死锁检测操作,若存在死锁,则打印死锁信息。
其中,所述数据结构封装模块具体为将用户态读写锁数据结构pthread_rwlock_t添加lockdep模块死锁检测需要的lockdep_map数据结构的模块。
其中,接口封装模块具体为引入内核lockdep死锁程序,定义用户态文件;根据所述用户态文件对用户态读写锁接口进行封装的模块;
其中,所述用户态读写锁接口包括:PTHREAD_RWLOCK_INITIALIZER、pthread_rwlock_init、pthread_rwlock_rdlock、pthread_rwlock_unlock、pthread_rwlock_wrlock、pthread_rwlock_tryrdlock、pthread_rwlock_trywlock、pthread_rwlock_destroy;所述用户态文件包括lockdep.c、lockdep_states.h和lockdep_internals.h。
其中,用户态程序模块,包括:
编译单元,用于根据所述读写锁死锁检测库文件编译读写锁死锁检测操作;
判断单元,用于判断编译时是否引入所述读写锁死锁检测库文件;
执行单元,用于若存在所述读写锁死锁检测库文件,执行所述读写锁死锁检测操作;
打印单元,用于若存在死锁,则打印死锁信息。
本发明所提供的用户态读写锁死锁检测方法,包括:将用户态读写锁数据结构与lockdep_map数据结构进行封装;对引入内核lockdep死锁程序的用户态读写锁接口API进行封装;将封装后的用户态读写锁接口,编译成用户态读写锁检测动态静态链接库,生成读写锁死锁检测库文件;根据所述读写锁死锁检测库文件编译读写锁死锁检测操作;执行所述读写锁死锁检测操作,若存在死锁,则打印死锁信息;可见该方法通过封装lockdep模块,使内核通过调用内核lockdep死锁检测函数来进行用户态读写锁死锁检测,能够准确的检测出linux用户态读写锁死锁;本发明还提供了一种用户态读写锁死锁检测系统,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的用户态读写锁死锁检测方法的流程图;
图2为本发明实施例所提供的用户态读写锁死锁检测系统的结构框图。
具体实施方式
本发明的核心是提供一种用户态读写锁死锁检测方法及系统,对linux用户态读写锁的数据结构和读写锁接口API进行封装,通过调用内核lockdep死锁检测函数对用户态读写锁死锁进行检测。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例所提供的用户态读写锁死锁检测方法的流程图;该方法可以包括:
S100、将用户态读写锁数据结构与lockdep_map数据结构进行封装;
其中,该步骤即为用户态读写锁数据结构封装,具体的将用户态读写锁数据结构pthread_rwlock_t添加lockdep模块死锁检测需要的lockdep_map数据结构。
读写锁数据结构封装,在原有的数据结构pthread_rwlock_t基础上添加lockdep_map数据结构,定义为lockdep_pthread_rwlock数据机构。具体过程如下:
变量定义如下:
#define NR_LOCKDEP_CACHING_CLASSES 2
#define MAX_LOCKDEP_SUBCLASSES 8UL
S110、对引入内核lockdep死锁程序的用户态读写锁接口API进行封装;
其中,该步骤即为用户态读写锁接口封装,引入内核lockdep死锁程序,定义用户态文件;其中,所述用户态文件包括lockdep.c、lockdep_states.h和lockdep_internals.h;
根据所述用户态文件对用户态读写锁接口进行封装;其中,所述用户态读写锁接口包括:PTHREAD_RWLOCK_INITIALIZER、pthread_rwlock_init、pthread_rwlock_rdlock、pthread_rwlock_unlock、pthread_rwlock_wrlock、pthread_rwlock_tryrdlock、pthread_rwlock_trywlock、pthread_rwlock_destroy。
其中,读写锁调用接口封装,是读写锁提供给用户的PTHREAD_RWLOCK_INITIALIZER,pthread_rwlock_init,pthread_rwlock_rdlock、pthread_rwlock_unlock、pthread_rwlock_wrlock、pthread_rwlock_tryrdlock、pthread_rwlock_trywlock、pthread_rwlock_destroy等接口进行封装,引入内核lockdep代码即内核lockdep死锁程序,通过直接引入内核文件的方式调用内核lockdep代码。
引入lockdep代码,定义用户态文件lockdep.c、lockdep_states.h和lockdep_internals.h。
接口重定义:
S120、将封装后的用户态读写锁接口,编译成用户态读写锁检测动态静态链接库,生成读写锁死锁检测库文件;
其中,该步骤即为编译用户态读写锁检测动态静态链接库,即编译重新封装的读写锁的接口。从步骤S100到S120完成了用户态读写锁死锁检测库文件的生成。即首先对用户态读写锁的数据结构和API进行封装,引入lockdep内核死锁检测函数,编译生成读写锁死锁检测库文件;用户态程序编译时引入读写锁死锁检测库文件,用户程序读写锁操作指向读写锁死锁检测库文件封装的接口。
S130、根据所述读写锁死锁检测库文件编译读写锁死锁检测操作;执行所述读写锁死锁检测操作,若存在死锁,则打印死锁信息。
其中,用户C程序重新编译并执行检测过程;即步骤S130完成了用户态程序读写锁死锁检测流程;先判断编译中是否引入读写锁死锁检测库文件,如果没有引入,直接运行程序本身功能结束;如果引入读写锁死锁检测库文件,则检测是否存在读写锁死锁,如果存在死锁,打印死锁信息结束;如果不存在死锁,程序执行本身功能结束。
基于上述技术方案,本发明实施例提供的用户态读写锁死锁检测方法,对linux用户态读写锁的数据结构和读写锁接口API进行封装,通过调用内核lockdep死锁检测函数对用户态读写锁死锁进行检测;即通过封装用户态读写锁数据结构和读写锁接口实现对内核lockdep代码调用;能够有效检测出用户态C程序的读写锁死锁。
本发明实施例提供了用户态读写锁死锁检测方法,能够通过调用lockdep模块能够准确的检测出用户态读写锁死锁。
下面对本发明实施例提供的用户态读写锁死锁检测系统进行介绍,下文描述的用户态读写锁死锁检测系统与上文描述的用户态读写锁死锁检测方法可相互对应参照。
请参考图2,图2为本发明实施例所提供的用户态读写锁死锁检测系统的结构框图;该系统可以包括:
数据结构封装模块100,用于将用户态读写锁数据结构与lockdep_map数据结构进行封装;
接口封装模块200,用于对引入内核lockdep死锁程序的用户态读写锁接口API进行封装;
编译模块300,用于将封装后的用户态读写锁接口,编译成用户态读写锁检测动态静态链接库,生成读写锁死锁检测库文件;
用户态程序模块400,用于根据所述读写锁死锁检测库文件编译读写锁死锁检测操作;执行所述读写锁死锁检测操作,若存在死锁,则打印死锁信息。
可选的,所述数据结构封装模块100具体为将用户态读写锁数据结构pthread_rwlock_t添加lockdep模块死锁检测需要的lockdep_map数据结构的模块。
可选的,接口封装模块200具体为引入内核lockdep死锁程序,定义用户态文件;根据所述用户态文件对用户态读写锁接口进行封装的模块;
其中,所述用户态读写锁接口包括:PTHREAD_RWLOCK_INITIALIZER、pthread_rwlock_init、pthread_rwlock_rdlock、pthread_rwlock_unlock、pthread_rwlock_wrlock、pthread_rwlock_tryrdlock、pthread_rwlock_trywlock、pthread_rwlock_destroy;所述用户态文件包括lockdep.c、lockdep_states.h和lockdep_internals.h。
可选的,用户态程序模块400,包括:
编译单元,用于根据所述读写锁死锁检测库文件编译读写锁死锁检测操作;
判断单元,用于判断编译时是否引入所述读写锁死锁检测库文件;
执行单元,用于若存在所述读写锁死锁检测库文件,执行所述读写锁死锁检测操作;
记录单元,用于若存在死锁,则打印死锁信息。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的用户态读写锁死锁检测方法及系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (8)
1.一种用户态读写锁死锁检测方法,其特征在于,包括:
S100、将用户态读写锁数据结构与lockdep_map数据结构进行封装;
S110、对引入内核lockdep死锁程序的用户态读写锁接口API进行封装;
S120、将封装后的用户态读写锁接口,编译成用户态读写锁检测动态静态链接库,生成读写锁死锁检测库文件;
S130、根据所述读写锁死锁检测库文件编译读写锁死锁检测操作;执行所述读写锁死锁检测操作,若存在死锁,则打印死锁信息。
2.如权利要求1所述的用户态读写锁死锁检测方法,其特征在于,步骤S100包括:
将用户态读写锁数据结构pthread_rwlock_t添加lockdep模块死锁检测需要的lockdep_map数据结构。
3.如权利要求2所述的用户态读写锁死锁检测方法,其特征在于,步骤S110包括:
引入内核lockdep死锁程序,定义用户态文件;其中,所述用户态文件包括lockdep.c、lockdep_states.h和lockdep_internals.h;
根据所述用户态文件对用户态读写锁接口进行封装;其中,所述用户态读写锁接口包括:PTHREAD_RWLOCK_INITIALIZER、pthread_rwlock_init、pthread_rwlock_rdlock、pthread_rwlock_unlock、pthread_rwlock_wrlock、pthread_rwlock_tryrdlock、pthread_rwlock_trywlock、pthread_rwlock_destroy。
4.如权利要求3所述的用户态读写锁死锁检测方法,其特征在于,执行所述读写锁死锁检测操作,包括:
判断编译时是否引入所述读写锁死锁检测库文件;
若引入,则执行所述读写锁死锁检测操作。
5.一种用户态读写锁死锁检测系统,其特征在于,包括:
数据结构封装模块,用于将用户态读写锁数据结构与lockdep_map数据结构进行封装;
接口封装模块,用于对引入内核lockdep死锁程序的用户态读写锁接口API进行封装;
编译模块,用于将封装后的用户态读写锁接口,编译成用户态读写锁检测动态静态链接库,生成读写锁死锁检测库文件;
用户态程序模块,用于根据所述读写锁死锁检测库文件编译读写锁死锁检测操作;执行所述读写锁死锁检测操作,若存在死锁,则打印死锁信息。
6.如权利要求5所述的用户态读写锁死锁检测系统,其特征在于,所述数据结构封装模块具体为将用户态读写锁数据结构pthread_rwlock_t添加lockdep模块死锁检测需要的lockdep_map数据结构的模块。
7.如权利要求6所述的用户态读写锁死锁检测系统,其特征在于,接口封装模块具体为引入内核lockdep死锁程序,定义用户态文件;根据所述用户态文件对用户态读写锁接口进行封装的模块;
其中,所述用户态读写锁接口包括:PTHREAD_RWLOCK_INITIALIZER、pthread_rwlock_init、pthread_rwlock_rdlock、pthread_rwlock_unlock、pthread_rwlock_wrlock、pthread_rwlock_tryrdlock、pthread_rwlock_trywlock、pthread_rwlock_destroy;所述用户态文件包括lockdep.c、lockdep_states.h和lockdep_internals.h。
8.如权利要求7所述的用户态读写锁死锁检测系统,其特征在于,用户态程序模块,包括:
编译单元,用于根据所述读写锁死锁检测库文件编译读写锁死锁检测操作;
判断单元,用于判断编译时是否引入所述读写锁死锁检测库文件;
执行单元,用于若存在所述读写锁死锁检测库文件,执行所述读写锁死锁检测操作;
打印单元,用于若存在死锁,则打印死锁信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610532715.0A CN106201731A (zh) | 2016-07-07 | 2016-07-07 | 一种用户态读写锁死锁检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610532715.0A CN106201731A (zh) | 2016-07-07 | 2016-07-07 | 一种用户态读写锁死锁检测方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106201731A true CN106201731A (zh) | 2016-12-07 |
Family
ID=57473815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610532715.0A Pending CN106201731A (zh) | 2016-07-07 | 2016-07-07 | 一种用户态读写锁死锁检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106201731A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107229550A (zh) * | 2017-05-27 | 2017-10-03 | 郑州云海信息技术有限公司 | 一种linux内核自旋锁死锁检测报告系统和方法 |
CN109918207A (zh) * | 2019-02-18 | 2019-06-21 | 天津麒麟信息技术有限公司 | 一种非侵入的c程序死锁定位方法 |
CN111880940A (zh) * | 2020-07-29 | 2020-11-03 | 北京浪潮数据技术有限公司 | 一种存储系统中数据处理方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101206692A (zh) * | 2006-12-20 | 2008-06-25 | 联想(北京)有限公司 | 检测进程的方法及设备 |
CN102129391A (zh) * | 2011-03-14 | 2011-07-20 | 华中科技大学 | 一种数据库中自旋锁的实现方法 |
CN102222015A (zh) * | 2010-04-13 | 2011-10-19 | 三星电子(中国)研发中心 | 检测多线程程序中的死锁的方法及系统 |
CN105022692A (zh) * | 2015-08-06 | 2015-11-04 | 四川大学 | 一种死锁检测验证方法 |
CN105740080A (zh) * | 2016-03-11 | 2016-07-06 | 深圳市茁壮网络股份有限公司 | 一种程序卡死检测方法及处理器 |
-
2016
- 2016-07-07 CN CN201610532715.0A patent/CN106201731A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101206692A (zh) * | 2006-12-20 | 2008-06-25 | 联想(北京)有限公司 | 检测进程的方法及设备 |
CN102222015A (zh) * | 2010-04-13 | 2011-10-19 | 三星电子(中国)研发中心 | 检测多线程程序中的死锁的方法及系统 |
CN102129391A (zh) * | 2011-03-14 | 2011-07-20 | 华中科技大学 | 一种数据库中自旋锁的实现方法 |
CN105022692A (zh) * | 2015-08-06 | 2015-11-04 | 四川大学 | 一种死锁检测验证方法 |
CN105740080A (zh) * | 2016-03-11 | 2016-07-06 | 深圳市茁壮网络股份有限公司 | 一种程序卡死检测方法及处理器 |
Non-Patent Citations (2)
Title |
---|
SASHA LEVIN: "[PATCH v3 1/7] liblockdep: wrap kernel/lockdep.c to allow usage from user space", 《HTTPS://LWN.NET/ARTICLES/536366/》 * |
SKYWALKZF: "ARM Linux系统启动start_kernel函数", 《HTTPS://WWW.LINUXIDC.COM/LINUX/2011-09/43680.HTM》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107229550A (zh) * | 2017-05-27 | 2017-10-03 | 郑州云海信息技术有限公司 | 一种linux内核自旋锁死锁检测报告系统和方法 |
CN109918207A (zh) * | 2019-02-18 | 2019-06-21 | 天津麒麟信息技术有限公司 | 一种非侵入的c程序死锁定位方法 |
CN111880940A (zh) * | 2020-07-29 | 2020-11-03 | 北京浪潮数据技术有限公司 | 一种存储系统中数据处理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11816018B2 (en) | Systems and methods of formal verification | |
CN105051746B (zh) | 基于信任级别和其他属性对web内容进行的差异化的容器化与执行 | |
CN103530118B (zh) | 将自定义dll注入目标进程的方法及装置 | |
CN107577483B (zh) | 组件工程调用主工程代码的方法、存储介质、设备及系统 | |
TWI742659B (zh) | 基於區塊鏈的侵權取證方法及裝置、電子設備、儲存媒體 | |
WO2020125219A1 (zh) | 数据结构的读取及更新方法、装置、电子设备 | |
TWI724570B (zh) | 資料結構的讀取及更新方法、裝置、電子設備及儲存媒體 | |
US10102155B2 (en) | Method and device of information protection for micro control unit chip | |
CN106201731A (zh) | 一种用户态读写锁死锁检测方法及系统 | |
CN109478148B (zh) | 基于工作流程的对象析构 | |
CN108614969A (zh) | 一种系统启动后加载的强制访问控制方法及系统 | |
US8813258B2 (en) | Selectively exposing base class libraries based on application execution context | |
CN106201730A (zh) | 一种linux用户态互斥锁死锁检测方法及系统 | |
CN110975279B (zh) | 一种游戏数据处理方法、装置、游戏服务器及存储介质 | |
TW201439775A (zh) | 基於能力的裝置驅動程式架構 | |
CN102880467A (zh) | Cache一致性协议验证方法以及多核处理器系统 | |
CN107122656A (zh) | 一种通过自调试防止外部调试的方法和装置 | |
CN109491806A (zh) | 一种内核与第三方应用之间的适配方法与装置 | |
CN106294137A (zh) | 一种linux用户态自旋锁死锁检测方法及系统 | |
CN112883374A (zh) | 一种基于ART环境下的Android平台应用程序通用脱壳方法及系统 | |
CN116010112B (zh) | 钩子函数的调用方法、装置、计算机设备及可读存储介质 | |
CN108304233A (zh) | Application对象迁移方法、存储介质、电子设备及系统 | |
Militão | Rely-Guarantee Protocols for Safe Interference over Shared Memory | |
Damm et al. | Formal Techniques in Real-Time and Fault-Tolerant Systems: 7th International Symposium, FTRTFT 2002, Co-sponsored by IFIP WG 2.2, Oldenburg, Germany, September 9-12, 2002. Proceedings | |
WO2000054199A3 (en) | Methods and systems for performing workflow |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161207 |
|
RJ01 | Rejection of invention patent application after publication |