CN112463412A - 一种线程变量在线程切换过程中复制的方法及相关设备 - Google Patents
一种线程变量在线程切换过程中复制的方法及相关设备 Download PDFInfo
- Publication number
- CN112463412A CN112463412A CN202011459956.XA CN202011459956A CN112463412A CN 112463412 A CN112463412 A CN 112463412A CN 202011459956 A CN202011459956 A CN 202011459956A CN 112463412 A CN112463412 A CN 112463412A
- Authority
- CN
- China
- Prior art keywords
- thread
- variable
- class
- original
- variable information
- 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
- 238000000034 method Methods 0.000 title claims abstract description 81
- 230000008569 process Effects 0.000 title claims abstract description 28
- 238000000605 extraction Methods 0.000 claims description 5
- 230000010076 replication Effects 0.000 claims description 4
- 230000003362 replicative effect Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 238000003672 processing method Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000003068 static effect Effects 0.000 description 6
- 239000011800 void material Substances 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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/54—Interprogram communication
- G06F9/543—User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本说明书一个或多个实施例提供一种线程变量在线程切换过程中复制的方法及相关设备,所述方法包括:确定原线程的所有线程变量持有类执行统一的接口类,以得到线程变量绑定管理器HolderManager;获取HolderManager中所有实现类清单;根据所述实现类清单,提取所述原线程的线程变量持有类中的线程变量信息;将所述线程变量信息设置到新线程中;将所述原线程中的所有线程变量复制到新线程中。本发明提供的方法解决了在线程切换时复制线程变量繁琐的问题,节省了大量时间。
Description
技术领域
本说明书一个或多个实施例涉及线程复制技术领域,尤其涉及一种线程变量在线程切换过程中复制的方法及相关设备。
背景技术
现有的技术方案中,往往通过线程变量来传递共享变量信息,如全程交易码、业务公共信息等,但线程变量在线程切换时,需要主动将所有持有的线程变量进行变量提取及新线程内变量赋值,但是需要清楚的知道全部的线程变量持有信息,如果了解不全则难以复制所有的线程变量。因而,在线程切换中需要将原线程中的线程变量逐一复制到新线程中。
发明内容
有鉴于此,本说明书一个或多个实施例的目的在于提出一种线程变量在线程切换过程中复制的方法及相关设备,以解决在线程切换时复制线程变量繁琐的问题。
基于上述目的,本说明书一个或多个实施例提供了一种线程变量在线程切换过程中复制的方法,包括:
确定原线程的所有线程变量持有类执行统一的接口类,以得到线程变量绑定管理器HolderManager;
获取HolderManager中所有实现类清单;
根据所述实现类清单,提取所述原线程的线程变量持有类中的线程变量信息;
将所述线程变量信息设置到新线程中;
将所述原线程中的所有线程变量复制到新线程中。
进一步,所述将所述原线程中的所有线程变量复制到新线程中,具体包括:
通过线程局部变量ThreadLocal信息以及所述实现类清单中持有的本地线程变量标识,将所述原线程中的所有线程变量通过set接口输入到新线程中的ThreadLocal中。
进一步,所述线程局部变量ThreadLocal信息是基于实现HolderManager接口的类清单,调用HolderManager的公共方法进行获取。
进一步,所述获取HolderManager中所有实现类清单,具体包括:
通过应用程序框架Spring的原生应用程序接口API,获取当前已实现HolderManager接口的实现类清单。
进一步,所述将线程变量信息设置到新线程中,具体包括:
清空新线程中原有的绑定线程变量信息,通过字节码增强的形式,在发生线程切换的点调用相应的处理方法,将提取的所述线程变量信息放入新线程中。
进一步,所述提取所述原线程的线程变量持有类中的线程变量信息,之后还包括:
在进行线程切换之前,将所述线程变量信息以本地变量的形式存储下来。
进一步,所述线程变量信息包括事务代码TCode、用户的id和/或特定组件持有的绑定信息。
基于同一发明构思,本说明书一个或多个实施例还提供了一种线程变量在线程切换过程中复制的装置,包括:
确定接口类模块:被配置为确定原线程的所有线程变量持有类执行统一的接口类,以得到线程变量绑定管理器HolderManager;
实现类清单获取模块:被配置为获取HolderManager中所有实现类清单;
线程变量信息提取模块:被配置为根据所述实现类清单,提取所述原线程的线程变量持有类中的线程变量信息;
线程变量信息设置模块:被配置为将所述线程变量信息设置到新线程中;
线程变量复制模块:被配置为将所述原线程中的所有线程变量复制到新线程中。
基于同一发明构思,本说明书一个或多个实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任意一项所述的方法。
基于同一发明构思,本说明书一个或多个实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一所述方法。
从上面所述可以看出,本说明书一个或多个实施例提供的线程变量在线程切换过程中复制的方法,通过HolderManager使所有线程变量的持有类执行统一的接口类,进而获取HolderManager中的实现类清单,对所述接口类进行实现,再进行提取的线程变量信息并设置到新线程,最后将原线程中的线程变量复制到新线程中,本方法可避免在线程切换中原线程中的线程变量逐一复制到新线程中,节省了大量时间,解决了线程切换时复制线程变量繁琐的问题。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一个或多个实施例的线程变量在线程切换过程中复制的方法流程图;
图2为本说明书一个或多个实施例的线程变量在线程切换过程中复制的装置结构示意图;
图3为本说明书一个或多个实施例的电子设备结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外确定,本说明书一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本说明书一个或多个实施例中使用的“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。
如背景技术所述,现有的在线程切换过程中线程变量的复制需要知道全部的线程变量持有信息,如果不能了解全部的线程变量持有信息,原线程的线程变量不能全部复制到新线程中。
有鉴于此,本说明书一个或多个实施例提供了一种线程变量在线程切换过程中复制的方法,参考图1,包括:
步骤S101:确定原线程的所有线程变量持有类执行统一的接口类,得到线程变量绑定管理器(HolderManager)。
本步骤中,上述原线程是指应用方法当前正在执行的线程,上述接口类可对原线程中的不同类顺利交互提供标准,通过使线程变量持有类执行统一的接口类,给用户一个清晰地指示,给出需要实现的任务,根据接口引用相应的实现接口的类,执行统一的接口类对于代码的维护和拓展更加方便。相应的,可通过如下语句确定上述接口类,控制所有线程变量的动作。
static Map<String,Object>get(){…}//用于获取线程变量中的对象;
static void set(Map<String,Object>contextData){…}//用于设置线程变量中的对象;
static void clear(){…}//用于清除线程变量中的对象;
default Map<String,Object>getAll(){…}//用于获取线程变量的所有对象;
default void putAll(Map<String,Object>contextData){…}//用于设置线程变量的值;
default void removeAll(){…}//用于清除所有的线程变量。
可以理解的是,在实际的应用过程中,可选择其他语句确定原线程的所有线程变量持有统一接口类,具体此处不做具体限定。
步骤S102:获取HolderManager中所有实现类清单。
本步骤中,可利用应用程序框架Spring框架(Spring Framework)提供的应用程序编程接口(API)获取上述HolderManager中所有实现类清单,上述实现类用于实现上述接口类中所有的方法。
Spring框架能够有效地组织中间层对象,可以消除各种各样自定义格式的属性文件的需要,使配置信息一元化,并且可实现针对接口进行编程。
步骤S103:根据所述实现类清单,提取所述原线程的线程变量持有类中的线程变量信息。
本步骤中,上述线程变量信息包括事务代码(TCode)、用户的id和/或特定组件持有的绑定信息。通过编程式的代码进行上述线程变量信息的提取,或通过字节码对于常用的线程切换类进行识别。具体的,可通过如下语句提取上述线程变量信息。
Map<String,Object>result=HolderManager.get();
进一步地,后续可根据接口中约定的状态标记,判断已复制的实现类清单中的线程变量信息是否需要复制。
可以理解的是,在实际的应用过程中,可选择其他语句对原线程的线程变量持有类的线程变量信息进行提取,此处不做具体限定。
步骤S104:将所述线程变量信息设置到新线程中。
本步骤中,上述新线程是指原线程中的方法在执行过程中可能会开启新的线程,用来异步处理一些内容。设置前先清空新线程中原有的绑定线程变量信息,通过字节码增强的形式,在发生线程切换的点调用相应的处理方法,将提取的所述线程变量信息放入新线程中。
可利用如下语句将上述线程变量信息设置到新线程中。
static void set(Map<String,Object>contextData){…}//
default void putAll(Map<String,Object>contextData){…}//
可以理解的是,在实际的应用过程中,可利用其他语句将线程变量信息设置到新线程中,此处不做具体限定。
步骤S105:将所述原线程中的所有线程变量复制到新线程中。
本步骤中,上述将原线程中的所有线程变量复制到新线程中,可通过线程局部变量(ThreadLocal)信息以及所述实现类清单中持有的本地线程变量标识,将所述原线程中的所有线程变量通过set接口输入到新线程中的ThreadLocal中。提供ThreadLocal值的的传递,可解决异步执行时上下文传递的问题。
进一步地,上述ThreadLocal信息是通过识别实现HolderManager接口的类清单,并调用HolderManager中的公共方法进行获取的,无需预先知晓存放ThreadLocal的信息的结构及类型。
ThreadLocal是一个线程内部的存储类,可以在指定线程内存储数据,数据存储以后,只有指定线程可以得到存储数据;也就是说ThreadLocal提供了线程内存储线程变量的能力,而线程变量不同之处在于每一个线程读取的线程变量是对应的互相独立的。通过get接口和set接口就可以得到当前线程对应的值。
本实施例中选用的是set接口,可以理解的是,在实际的应用过程中还可以通过get接口将原线程中所有的线程变量输入到新线程中的,具体此处不做具体限定。
下面,给出本实施例的线程变量在线程切换过程中复制的方法的一个具体应用场景,在进行灰度部署时,需要对线程变量进行灰度标记,但带有灰度标记的线程变量在进行线程切换时会出现丢失的问题。因此,可确定原线程的所有带灰度标记的线程变量持有类执行统一的接口类,进而控制所有带灰度标记的线程变量的动作;再进行获取用于实现上述接口类的所有实现类清单,根据上述实现类清单通过编程式代码的形式提取上述带灰度标记的线程变量的线程变量信息;清空所要进行切换的新线程中已有的线程变量信息,并在发生线程切换的点调用相应的接口,将带有灰度标记的线程变量信息放入新线程中;最后通过set接口或get接口将上述带灰度标记的线程变量复制到新线程中。
作为一个可选的实施例,步骤S103之后还包括:
在进行线程切换之前,将所述线程变量信息以本地变量的形式存储下来。
具体的,通过将上述线程变量以本地变量的形式进行存储,可对数据进行长久保存,且保存的数据没有过期时间。
需要说明的是,本说明书一个或多个实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本说明书一个或多个实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,与上述任意实施例方法相对应的,本说明书一个或多个实施例还提供了一种线程变量在线程切换过程中复制的装置。
参考图2,所述线程变量在线程切换过程中复制的装置,包括:
确定接口类模块201:被配置为确定原线程的所有线程变量持有类执行统一的接口类,得到线程变量绑定管理器HolderManager;
实现类清单获取模块202:被配置为获取HolderManager中所有实现类清单;
线程变量信息提取模块203:被配置为根据所述实现类清单,提取所述原线程的线程变量持有类中的线程变量信息;
线程变量信息设置模块204:被配置为将所述线程变量信息设置到新线程中;
线程变量复制模块205:被配置为将所述原线程中的所有线程变量复制到新线程中。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述任一实施例中相应的一种线程变量在线程切换过程中复制的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本说明书一个或多个实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的线程变量在线程切换过程中复制的方法。
图3示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的线程变量在线程切换过程中复制的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本说明书一个或多个实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的线程变量在线程切换过程中复制的方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的线程变量在线程切换过程中复制的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本说明书一个或多个实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本说明书一个或多个实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本说明书一个或多个实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本说明书一个或多个实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种线程变量在线程切换过程中复制的方法,其特征在于,包括:
确定原线程的所有线程变量持有类执行统一的接口类,以得到线程变量绑定管理器HolderManager;
获取HolderManager中所有实现类清单;
根据所述实现类清单,提取所述原线程的线程变量持有类中的线程变量信息;
将所述线程变量信息设置到新线程中;
将所述原线程中的所有线程变量复制到新线程中。
2.根据权利要求1所述的方法,其特征在于,所述将所述原线程中的所有线程变量复制到新线程中,具体包括:
通过线程局部变量ThreadLocal信息以及所述实现类清单中持有的本地线程变量标识,将所述原线程中的所有线程变量通过set接口输入到新线程中的ThreadLocal中。
3.根据权利要求1所述的方法,其特征在于,所述获取HolderManager中所有实现类清单,具体包括:
通过应用程序框架Spring的原生应用程序接口API,获取当前已实现HolderManager接口的实现类清单。
4.根据权利要求1所述的方法,其特征在于,所述提取所述原线程的线程变量持有类中的线程变量信息,具体包括:
通过编程式的代码进行所述线程变量信息的提取,或利用字节码对线程切换类进行识别提取所述线程变量信息。
5.根据权利要求1所述的方法,其特征在于,所述将线程变量信息设置到新线程中,具体包括:
清空新线程中原有的绑定线程变量信息,通过字节码增强的形式,在发生线程切换的点调用相应的处理方法,将提取的所述线程变量信息放入新线程中。
6.根据权利要求1所述的方法,其特征在于,所述提取所述原线程的线程变量持有类中的线程变量信息,之后还包括:
在进行线程切换之前,将所述线程变量信息以本地变量的形式存储下来。
7.根据权利要求1至6任意一项所述的方法,其特征在于,所述线程变量信息包括事务代码TCode、用户的id和/或特定组件持有的绑定信息。
8.一种线程变量在线程切换过程中复制的装置,其特征在于,包括:
确定接口类模块:被配置为确定原线程的所有线程变量持有类执行统一的接口类,以得到线程变量绑定管理器HolderManager;
实现类清单获取模块:被配置为获取HolderManager中所有实现类清单;
线程变量信息提取模块:被配置为根据所述实现类清单,提取所述原线程的线程变量持有类中的线程变量信息;
线程变量信息设置模块:被配置为将所述线程变量信息设置到新线程中;
线程变量复制模块:被配置为将所述原线程中的所有线程变量复制到新线程中。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任意一项所述的方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行权利要求1至7任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011459956.XA CN112463412A (zh) | 2020-12-11 | 2020-12-11 | 一种线程变量在线程切换过程中复制的方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011459956.XA CN112463412A (zh) | 2020-12-11 | 2020-12-11 | 一种线程变量在线程切换过程中复制的方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112463412A true CN112463412A (zh) | 2021-03-09 |
Family
ID=74803456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011459956.XA Pending CN112463412A (zh) | 2020-12-11 | 2020-12-11 | 一种线程变量在线程切换过程中复制的方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112463412A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107741883A (zh) * | 2017-09-29 | 2018-02-27 | 武汉斗鱼网络科技有限公司 | 一种避免线程阻塞的方法、装置及计算机设备 |
CN111625330A (zh) * | 2020-05-18 | 2020-09-04 | 北京达佳互联信息技术有限公司 | 跨线程的任务处理方法、装置、服务器及存储介质 |
-
2020
- 2020-12-11 CN CN202011459956.XA patent/CN112463412A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107741883A (zh) * | 2017-09-29 | 2018-02-27 | 武汉斗鱼网络科技有限公司 | 一种避免线程阻塞的方法、装置及计算机设备 |
CN111625330A (zh) * | 2020-05-18 | 2020-09-04 | 北京达佳互联信息技术有限公司 | 跨线程的任务处理方法、装置、服务器及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6876806B2 (ja) | ブロックチェーンコンセンサス形成の方法およびデバイス | |
CN107644286B (zh) | 工作流处理方法及装置 | |
CN107729246B (zh) | 针对目标应用的辅助测试方法、装置、设备及存储介质 | |
CN109739600B (zh) | 数据处理方法、介质、装置和计算设备 | |
CN107066519B (zh) | 一种任务检测方法及装置 | |
CN108549562A (zh) | 一种图像加载的方法及装置 | |
CN108268289B (zh) | web应用的参数配置方法、装置及系统 | |
CN106933887B (zh) | 一种数据可视化方法及装置 | |
CN110717536A (zh) | 一种生成训练样本的方法及装置 | |
CN110502415B (zh) | 一种埋点设置方法、装置及设备 | |
US20190034195A1 (en) | Systems and methods for providing patchable rom firmware | |
CN111158597A (zh) | 一种元数据读取方法、装置及电子设备和存储介质 | |
CN111694733A (zh) | 一种软件开发工具包sdk的api测试方法以及测试装置 | |
CN113536174A (zh) | 一种界面加载方法、装置及设备 | |
CN109922142A (zh) | 一种文件下载方法、装置及系统 | |
CN109710622A (zh) | 一种数据更新方法、装置和系统 | |
CN106648567B (zh) | 数据获取方法及装置 | |
CN112463412A (zh) | 一种线程变量在线程切换过程中复制的方法及相关设备 | |
CN111338655A (zh) | 一种安装包分发方法和系统 | |
CN110704742B (zh) | 一种特征提取方法及装置 | |
CN115291963A (zh) | 配置硬件资源的方法、电子设备及存储介质 | |
CN112559346A (zh) | 一种业务测试的方法及装置 | |
CN112286572A (zh) | 一种业务流程的配置方法及装置 | |
CN111625254A (zh) | 文件处理方法、装置、终端及存储介质 | |
CN112579117A (zh) | 数据升级方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |