CN110837422A - 多线程访问方法、***、电子终端以及储存介质 - Google Patents
多线程访问方法、***、电子终端以及储存介质 Download PDFInfo
- Publication number
- CN110837422A CN110837422A CN201910968196.6A CN201910968196A CN110837422A CN 110837422 A CN110837422 A CN 110837422A CN 201910968196 A CN201910968196 A CN 201910968196A CN 110837422 A CN110837422 A CN 110837422A
- Authority
- CN
- China
- Prior art keywords
- shared resource
- accessed
- access
- current thread
- data
- 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
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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供一种多线程访问方法、***、电子终端以及储存介质,包括:接收当前待访问线程对共享资源的操作请求;在所述共享资源的条件变量为访问状态的情况下,允许所述当前待访问线程对所述共享资源进行操作,并锁定所述共享资源。解决了当一个线程访问公共队列的某个数据时,也有其他线程去访问该队列,有可能会出现数据污染或者脏数据,并且对于上锁资源时,当其中一个函数返回的是保护数据的指针或引用时,会破坏对数据的保护的问题,本申请对数据进行保护,其他线程不能进行访问直到该线程读写完,其他线程才可使用;这样不会出现数据不一致或者数据污染,确保互斥量能锁住任何对保护数据的访问,并且不留后门,不会让任何代码脱离保护。
Description
技术领域
本申请涉及一种多线程处理领域,特别是涉及一种多线程访问方法、***、电子终端以及储存介质。
背景技术
通常我们启用多线程都是同时处理关键资源,会经常碰到资源竞争的情况,如果多个线程同时访问同个资源,会造成未知的错误。当线程在访问共享数据的时候,必须定一些规矩,用来限定线程可访问的数据位。还有,一个线程更新了共享数据,需要对其他线程进行通知。从易用性的角度,同一进程中的多个线程进行数据共享,有利有弊。错误的共享数据使用是产生并发bug的一个主要原因。
当涉及到共享数据时,问题很可能是因为共享数据修改所导致。如果共享数据是只读的,那么只读操作不会影响到数据,更不会涉及对数据的修改,所以所有线程都会获得同样的数据。但是,当一个或多个线程要修改共享数据时,就会产生很多麻烦。这种情况下,就必须小心谨慎,才能确保一切所有线程都工作正常。不要让任何代码脱离保护。在正常情况下,我们都能会小心地使关键资源在我们的控制之下,良好的运行,但在一些意外的时候,可能会跳出我们的控制。
发明内容
鉴于以上所述现有技术的缺点,本申请的目的在于提供一种多线程访问方法、***、电子终端以及储存介质,用于解决现有技术中当一个线程访问公共队列的某个数据时,也有其他线程去访问该队列,有可能会出现数据污染或者脏数据,并且对于上锁资源时,当其中一个函数返回的是保护数据的指针或引用时,会破坏对数据的保护的问题。
为实现上述目的及其他相关目的,本申请提供一种多线程访问方法,包括:接收当前待访问线程对共享资源的操作请求;在所述共享资源的条件变量为访问状态的情况下,允许所述当前待访问线程对所述共享资源进行操作,并锁定所述共享资源。
于本申请的一实施例中,所述方法包括:在所述当前待访问线程完成对共享资源的操作后,解锁所述共享资源,令所述当前待访问线程条件变量改变,并且用当前待访问线程条件变量改变通知位于候补队列中的下一待访问线程。
于本申请的一实施例中,所述方法还包括:在所述当前待访问线程完成对共享资源的操作后,令所述当前待访问线程通过改变条件变量的状态来通知位于候补队列中的下一待访问线程。
于本申请的一实施例中,释放所述共享资源的访问权的方式包括:令所述条件变量的状态变为访问状态。
于本申请的一实施例中,在所述共享资源的条件变量不是访问状态的情况下,将所述当前待访问线程置于候补队列。
为实现上述目的及其他相关目的,本申请提供一种多线程访问***,包括:其处理模块,用于接收当前待访问线程对共享资源的操作请求,以及用于在所述共享资源的条件变量为访问状态的情况下,允许所述当前待访问线程对所述共享资源进行操作,并锁定所述共享资源。
于本申请的一实施例中,所述处理模块包括加锁解锁模块,其用于对所述共享资源进行加锁操作和/或解锁操作。
于本申请的一实施例中,所述处理模块包括条件变量模块,其用于通过改变自身状态来授权不同的线程进行共享资源的访问。
为实现上述目的及其他相关目的,本申请提供一种电子终端,包括:存储器,用于存储计算机程序;处理器,用于运行所述计算机程序,以执行所述的多线程访问方法。
为实现上述目的及其他相关目的,本申请提供一种计算机存储介质,存储有计算机程序,所述计算机程序运行时实现所述的多线程访问方法。
如上所述,本申请的多线程访问方法、***、电子终端以及储存介质,具有以下有益效果:解决了现有技术中当一个线程访问公共队列的某个数据时,也有其他线程去访问该队列,有可能会出现数据污染或者脏数据,并且对于上锁资源时,当其中一个函数返回的是保护数据的指针或引用时,会破坏对数据的保护的问题,本申请对数据进行保护,其他线程不能进行访问直到该线程读写完,其他线程才可使用;这样不会出现数据不一致或者数据污染,确保互斥量能锁住任何对保护数据的访问,并且不留后门,不会让任何代码脱离保护。
附图说明
图1显示为现有技术中一实施例中的实施环境的示意图。
图2显示为本申请一实施例中的实施环境的示意图。
图3显示为本申请一实施例中的多线程访问方法的流程示意图。
图4显示为本申请一实施例中的多线程访问***的结构示意图。
图5显示为本申请一实施例中的电子终端的结构示意图。
具体实施方式
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,在下述描述中,参考附图,附图描述了本申请的若干实施例。应当理解,还可使用其他实施例,并且可以在不背离本申请的精神和范围的情况下进行机械组成、结构、电气以及操作上的改变。下面的详细描述不应该被认为是限制性的,并且本申请的实施例的范围仅由公布的专利的权利要求书所限定。这里使用的术语仅是为了描述特定实施例,而并非旨在限制本申请。空间相关的术语,例如“上”、“下”、“左”、“右”、“下面”、“下方”、““下部”、“上方”、“上部”等,可在文中使用以便于说明图中所示的一个元件或特征与另一元件或特征的关系。
其中提到的第一、第二及第三等术语是为了说明多样的部分、成份、区域、层及/或段而使用的,但并非限定于此。这些术语只用于把某部分、成份、区域、层或段区别于其它部分、成份、区域、层或段。因此,以下叙述的第一部分、成份、区域、层或段在不超出本申请范围的范围内,可以言及到第二部分、成份、区域、层或段。
再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
通常我们启用多线程都是同时处理关键资源,会经常碰到资源竞争的情况,如果多个线程同时访问同个资源,会造成未知的错误。当涉及到共享数据时,问题很可能是因为共享数据修改所导致很多麻烦。
对普遍现有对关键资源上锁的情况下,利用互斥锁来抵抗数据污染,但是我们发现当其中一个函数返回的是保护数据的指针或引用时,会破坏对数据的保护。因为具有访问能力的指针或引用可以访问(并可能修改)被保护的数据,而不会被互斥锁限制,进而依旧污染数据。
结合图1展示在普遍现有对关键资源上锁的情况下的方案图。
当线程12想要访问所述共享资源11时,获得操作权后,进入到所述共享资源11进行操作并且进而进行上锁和解锁动作,但是在操作过程中很容易出现异常使其他线程进入到共享资源进而污染数据。
因此,为了更好对数据进行保护,其他线程不能进行访问直到该线程读写完,其他线程才可使用;这样不会出现数据不一致或者数据污染,确保互斥量能锁住任何对保护数据的访问,并且不留后门,不要让任何代码脱离保护,我们提出一种多线程访问方法。
如图2所示,展示本申请实施例中的实施环境示意图。
在本实施例中,在共享资源21前面设有条件变量22,当线程23想要访问所述共享资源 11时,先要判断所述条件变量是否符合访问状态,只有在访问状态时才能进入到所述共享资源进行操作并且进而进行上锁和解锁动作,可以更好的保护数据。
如图3所示,展示本申请实施例中的多线程访问方法的流程示意图,所述方法可以应用于例如图2实施例中的共享资源11。
所述方法包括:
步骤S301:接收当前待访问线程对共享资源的操作请求。
可选的,接收来自当前待访问线程对共享资源的操作请求。
可选的,所述当前待访问线程对共享资源的操作请求具有操作参数。
可选的,所述操作参数包括:所述当前待访问线程的标识。
可选的,所述操作参数包括:与所述共享资源对应的资源节点的地址信息。
步骤S302:在所述共享资源的条件变量为访问状态的情况下,允许所述当前待访问线程对所述共享资源进行操作,并锁定所述共享资源。
可选的,判断所述共享资源的条件变量是否为访问状态,为访问状态的情况下,则允许所述当前待访问线程对所述共享资源进行操作即获得操作权,在获得操作权之后,所述当前待访问线程锁定所述共享资源。
可选的,在步骤S301与S302进行的基础上,所述多线程访问方法还包括:在所述当前待访问线程完成对共享资源的操作后,解锁所述共享资源,并释放所述共享资源的访问权。
可选的,所述方法包括:
接收来自当前待访问线程对共享资源的操作请求;
判断所述共享资源的条件变量是否为访问状态,为访问状态的情况下,则允许所述当前待访问线程对所述共享资源进行操作即获得操作权,在获得操作权之后,所述当前待访问线程锁定所述共享资源;
在所述当前待访问线程完成对共享资源的操作后,对所述共享资源进行解锁,并释放所述公共资源的释放权。
可选的,所述方法包括:
接收来自当前待访问线程对共享资源的操作参数;
判断所述共享资源的条件变量是否为访问状态,为访问状态的情况下,则允许所述当前待访问线程对所述共享资源进行操作即获得操作权,在获得操作权之后,所述当前待访问线程锁定所述共享资源;
在所述当前待访问线程完成对共享资源的操作后,对所述共享资源进行解锁,并释放所述公共资源的释放权。
可选的,所述方法包括:
接收来自当前待访问线程对共享资源的与所述共享资源对应的资源节点的地址信息;
判断所述共享资源的条件变量是否为访问状态,为访问状态的情况下,则允许所述当前待访问线程对所述共享资源进行操作即获得操作权,在获得操作权之后,所述当前待访问线程锁定所述共享资源;
在所述当前待访问线程完成对共享资源的操作后,对所述共享资源进行解锁,并释放所述公共资源的释放权。
可选的,在步骤S301与S302进行的基础上,所述多线程访问方法还包括:在所述当前待访问线程完成对共享资源的操作后,解锁所述共享资源,令所述当前待访问线程通过改变条件变量的状态来通知位于候补队列中的下一待访问线程。
可选的,在步骤S301与S302进行的基础上,所述多线程访问方法还包括:在所述当前待访问线程完成对共享资源的操作后,令所述当前待访问线程将所述条件变量的非访问状态为访问状态来通知位于候补队列中的下一待访问线程。
可选的,所述方法包括:
接收来自当前待访问线程对共享资源的操作请求;
判断所述共享资源的条件变量是否为访问状态,为访问状态的情况下,则允许所述当前待访问线程对所述共享资源进行操作即获得操作权,在获得操作权之后,所述当前待访问线程锁定所述共享资源;
在所述当前待访问线程完成对共享资源的操作后,令所述当前待访问线程通过改变条件变量的状态来通知位于候补队列中的下一待访问线程。
可选的,所述方法包括:
接收来自当前待访问线程对共享资源的操作请求;
判断所述共享资源的条件变量是否为访问状态,为访问状态的情况下,则允许所述当前待访问线程对所述共享资源进行操作即获得操作权,在获得操作权之后,所述当前待访问线程锁定所述共享资源;
在所述当前待访问线程完成对共享资源的操作后,令所述当前待访问线程将所述条件变量的非访问状态为访问状态来通知位于候补队列中的下一待访问线程。
可选的,所述方法包括:
接收来自当前待访问线程对共享资源的操作参数;
判断所述共享资源的条件变量是否为访问状态,为访问状态的情况下,则允许所述当前待访问线程对所述共享资源进行操作即获得操作权,在获得操作权之后,所述当前待访问线程锁定所述共享资源;
在所述当前待访问线程完成对共享资源的操作后,令所述当前待访问线程通过改变条件变量的状态来通知位于候补队列中的下一待访问线程。
可选的,所述方法包括:
接收来自当前待访问线程对共享资源的操作参数;
判断所述共享资源的条件变量是否为访问状态,为访问状态的情况下,则允许所述当前待访问线程对所述共享资源进行操作即获得操作权,在获得操作权之后,所述当前待访问线程锁定所述共享资源;
在所述当前待访问线程完成对共享资源的操作后,令所述当前待访问线程通过改变条件变量的状态来通知位于候补队列中的下一待访问线程。
可选的,所述方法包括:
接收来自当前待访问线程对共享资源的与所述共享资源对应的资源节点的地址信息;
判断所述共享资源的条件变量是否为访问状态,为访问状态的情况下,则允许所述当前待访问线程对所述共享资源进行操作即获得操作权,在获得操作权之后,所述当前待访问线程锁定所述共享资源;
在所述当前待访问线程完成对共享资源的操作后,令所述当前待访问线程通过改变条件变量的状态来通知位于候补队列中的下一待访问线程。
可选的,所述方法包括:
接收来自当前待访问线程对共享资源的与所述共享资源对应的资源节点的地址信息;
判断所述共享资源的条件变量是否为访问状态,为访问状态的情况下,则允许所述当前待访问线程对所述共享资源进行操作即获得操作权,在获得操作权之后,所述当前待访问线程锁定所述共享资源;
在所述当前待访问线程完成对共享资源的操作后,令所述当前待访问线程将所述条件变量的非访问状态为访问状态来通知位于候补队列中的下一待访问线程。
可选的,释放所述共享资源的访问权的方式包括:令所述条件变量的状态变为访问状态。
可选的,释放所述共享资源的访问权的方式包括:令所述条件变量的非访问状态变为访问状态。
可选的,在所述共享资源的条件变量不是访问状态的情况下,将所述当前待访问线程置于候补队列。
可选的,当共享资源的条件变量的不是访问状态的情况下,候补队列的线程发送对共享资源的操作请求对所述共享资源进行操作,并锁定所述共享资源。
可选的,当共享资源的条件变量的不是访问状态的情况下,候补队列的线程发送对共享资源的操作请求对所述共享资源进行操作,并锁定所述共享资源,在所述当前待访问线程完成对共享资源的操作后,解锁所述共享资源,并释放所述共享资源的访问权。
可选的,当共享资源的条件变量的不是访问状态的情况下,候补队列的线程发送对共享资源的操作请求对所述共享资源进行操作,并锁定所述共享资源,在所述当前待访问线程完成对共享资源的操作后,令所述当前待访问线程通过改变条件变量的状态来通知位于候补队列中的下一待访问线程。
与上述实施例原理相似的是,本申请提供一种多线程访问***,所述***包括:
处理模块,用于接收当前待访问线程对共享资源的操作请求,以及用于在所述共享资源的条件变量为访问状态的情况下,允许所述当前待访问线程对所述共享资源进行操作,并锁定所述共享资源。
以下结合附图提供具体实施例:
如图4所示展示本申请实施例中的一种多线程访问***的结构示意图。
所述***包括:
处理模块41,用于接收当前待访问线程对共享资源的操作请求,以及用于在所述共享资源的条件变量为访问状态的情况下,允许所述当前待访问线程对所述共享资源进行操作,并锁定所述共享资源。
可选的,所述处理模块41用于接收来自当前待访问线程对共享资源的操作请求,判断所述共享资源的条件变量是否为访问状态,为访问状态的情况下,则允许所述当前待访问线程对所述共享资源进行操作即获得操作权,在获得操作权之后,所述当前待访问线程锁定所述共享资源。
可选的,所述当前待访问线程对共享资源的操作请求具有操作参数。
可选的,所述操作参数包括:所述当前待访问线程的标识。
可选的,所述操作参数包括:与所述共享资源对应的资源节点的地址信息。
可选的,所述处理模块41包括加锁解锁模块,其用于对所述共享资源进行加锁操作和/或解锁操作。
可选的,所述加锁解锁模块,其用于判断所述共享资源的条件变量为访问状态的情况下,所述当前待访问线程对所述共享资源获得操作权之后,所述当前待访问线程锁定所述共享资源;在所述当前待访问线程完成对共享资源的操作后,解锁所述共享资源。
可选的,所述处理模块41包括条件变量模块,其用于通过改变自身状态来授权不同的线程进行共享资源的访问。
可选的,所述条件变量模块其用于将其自身的访问状态变为非访问状态时,对其他线程不授权;将自身的非访问状态改变为访问状态,可以对其他线程进行授权。
如图5所示,展示本申请实施例中的电子终端50的结构示意图。
所述电子终端50包括:存储器51及处理器52所述存储器51用于存储计算机程序;所述处理器52运行计算机程序实现如图2所述的多线程访问方法。
可选的,所述存储器51的数量均可以是一或多个,所述处理器52的数量均可以是一或多个,而图5中均以一个为例。
可选的,所述电子终端50中的处理器52会按照如图2所述的步骤,将一个或多个以应用程序的进程对应的指令加载到存储器51中,并由处理器52来运行存储在存储器51中的应用程序,从而实现如图2所述多线程访问方法中的各种功能。
可选的,所述存储器51,可能包括但不限于高速随机存取存储器、非易失性存储器。例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备;所述处理器52,可能包括但不限于中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路 (Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可选的,所述处理器52可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请还提供计算机可读存储介质,存储有计算机程序序,所述计算机程序运行时实现如图2所示的多线程访问方法;所述计算机可读存储介质可包括,但不限于,软盘、光盘、 CD-ROM(只读光盘存储器)、磁光盘、ROM(只读存储器)、RAM(随机存取存储器)、EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)、磁卡或光卡、闪存、或适于存储机器可执行指令的其他类型的介质/机器可读介质。所述计算机可读存储介质可以是未接入计算机设备的产品,也可以是已接入计算机设备使用的部件。
综上所述,本申请多线程访问方法、***、电子终端以及储存介质,包括:接收当前待访问线程对共享资源的操作请求;在所述共享资源的条件变量为访问状态的情况下,允许所述当前待访问线程对所述共享资源进行操作,并锁定所述共享资源,解决了现有技术中当一个线程访问公共队列的某个数据时,也有其他线程去访问该队列,有可能会出现数据污染或者脏数据,并且对于上锁资源时,当其中一个函数返回的是保护数据的指针或引用时,会破坏对数据的保护的问题,本申请对数据进行保护,其他线程不能进行访问直到该线程读写完,其他线程才可使用;这样不会出现数据不一致或者数据污染,确保互斥量能锁住任何对保护数据的访问,并且不留后门,不要让任何代码脱离保护。所以,本申请有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。
Claims (10)
1.一种多线程访问方法,其特征在于,包括:
接收当前待访问线程对共享资源的操作请求;
在所述共享资源的条件变量为访问状态的情况下,允许所述当前待访问线程对所述共享资源进行操作,并锁定所述共享资源。
2.根据权利要求1所述的多线程访问方法,其特征在于,包括:
在所述当前待访问线程完成对共享资源的操作后,解锁所述共享资源,并释放所述共享资源的访问权。
3.根据权利要求1所述的多线程访问方法,其特征在于,所述方法还包括:
在所述当前待访问线程完成对共享资源的操作后,解锁所述共享资源,并令所述当前待访问线程条件变量改变,并且用当前待访问线程条件变量改变通知位于候补队列中的下一待访问线程。
4.根据权利要求2所述的多线程访问方法,其特征在于,释放所述共享资源的访问权的方式包括:令所述条件变量的状态变为访问状态。
5.根据权利要求1所述的多线程访问方法,其特征在于,在所述共享资源的条件变量不是访问状态的情况下,将所述当前待访问线程置于候补队列。
6.一种多线程访问***,其特征在于,包括:
处理模块,用于接收当前待访问线程对共享资源的操作请求,以及用于在所述共享资源的条件变量为访问状态的情况下,允许所述当前待访问线程对所述共享资源进行操作,并锁定所述共享资源。
7.根据权利要求6所述的多线程访问***,其特征在于,所述处理模块包括加锁解锁模块,其用于对所述共享资源进行加锁操作和/或解锁操作。
8.根据权利要求6所述的多线程访问***,其特征在于,所述处理模块包括条件变量模块,其用于通过改变自身状态来授权不同的线程进行共享资源的访问。
9.一种电子终端,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于运行所述计算机程序,以执行如权利要求1至5中任一项所述的多线程访问方法。
10.一种计算机存储介质,其特征在于,存储有计算机程序,所述计算机程序运行时实现如权利要求1至5中任一项所述的多线程访问方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910968196.6A CN110837422A (zh) | 2019-10-12 | 2019-10-12 | 多线程访问方法、***、电子终端以及储存介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910968196.6A CN110837422A (zh) | 2019-10-12 | 2019-10-12 | 多线程访问方法、***、电子终端以及储存介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110837422A true CN110837422A (zh) | 2020-02-25 |
Family
ID=69575192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910968196.6A Pending CN110837422A (zh) | 2019-10-12 | 2019-10-12 | 多线程访问方法、***、电子终端以及储存介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110837422A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111858095A (zh) * | 2020-07-17 | 2020-10-30 | 山东云海国创云计算装备产业创新中心有限公司 | 一种硬件队列多线程共享方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101650646A (zh) * | 2009-09-22 | 2010-02-17 | 杭州华三通信技术有限公司 | 一种共享数据一致性的实现方法及装置 |
CN105760216A (zh) * | 2016-02-29 | 2016-07-13 | 惠州市德赛西威汽车电子股份有限公司 | 一种多进程同步控制方法 |
CN106250212A (zh) * | 2016-07-29 | 2016-12-21 | 努比亚技术有限公司 | 资源访问方法及装置 |
CN107133092A (zh) * | 2017-05-24 | 2017-09-05 | 努比亚技术有限公司 | 多线程同步处理方法、终端及计算机可读存储介质 |
-
2019
- 2019-10-12 CN CN201910968196.6A patent/CN110837422A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101650646A (zh) * | 2009-09-22 | 2010-02-17 | 杭州华三通信技术有限公司 | 一种共享数据一致性的实现方法及装置 |
CN105760216A (zh) * | 2016-02-29 | 2016-07-13 | 惠州市德赛西威汽车电子股份有限公司 | 一种多进程同步控制方法 |
CN106250212A (zh) * | 2016-07-29 | 2016-12-21 | 努比亚技术有限公司 | 资源访问方法及装置 |
CN107133092A (zh) * | 2017-05-24 | 2017-09-05 | 努比亚技术有限公司 | 多线程同步处理方法、终端及计算机可读存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111858095A (zh) * | 2020-07-17 | 2020-10-30 | 山东云海国创云计算装备产业创新中心有限公司 | 一种硬件队列多线程共享方法、装置、设备及存储介质 |
CN111858095B (zh) * | 2020-07-17 | 2022-06-10 | 山东云海国创云计算装备产业创新中心有限公司 | 一种硬件队列多线程共享方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109271258B (zh) | 读写锁重入的实现方法、装置、终端及存储介质 | |
US8020160B2 (en) | User-level read-copy update that does not require disabling preemption or signal handling | |
US8769546B2 (en) | Busy-wait time for threads | |
US20070271450A1 (en) | Method and system for enhanced thread synchronization and coordination | |
US8510738B2 (en) | Preventing unnecessary context switching by employing an indicator associated with a lock on a resource | |
CN112416556B (zh) | 一种数据读写优先平衡方法、***、装置及存储介质 | |
US20190310949A1 (en) | Supporting Concurrent Remove Operations and Add-To-Front Operations on a Least Recently Used (LRU) Queue | |
CN108762942B (zh) | 多线程访问方法及装置 | |
WO2019006997A1 (zh) | 程序死锁检测方法、存储介质、设备及*** | |
CN108345452B (zh) | 一种线程管理方法及装置 | |
CN108874446B (zh) | 多线程访问方法及装置 | |
CN110837422A (zh) | 多线程访问方法、***、电子终端以及储存介质 | |
CN108762940B (zh) | 多线程访问方法及装置 | |
CN109564555B (zh) | 基于上下文的保护*** | |
CN105094993B (zh) | 一种多核处理器、数据同步的方法及装置 | |
US8793464B2 (en) | Memory management in multi-threaded multi-processor computing system | |
US20230119005A1 (en) | Data race detection with per-thread memory protection | |
Alon et al. | Deterministic abortable mutual exclusion with sublogarithmic adaptive rmr complexity | |
CN116302097A (zh) | 一种基于自旋锁的多核处理器共享数据访问设计方法 | |
US10310916B2 (en) | Scalable spinlocks for non-uniform memory access | |
CN108491276B (zh) | 函数调用管理方法及装置 | |
US10310914B2 (en) | Methods and systems for recursively acquiring and releasing a spinlock | |
CN113961364A (zh) | 一种大规模锁***实现方法、装置、存储介质和服务器 | |
CN108762941B (zh) | 多线程访问方法及装置 | |
Zuepke et al. | Deterministic futexes revisited |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200225 |
|
RJ01 | Rejection of invention patent application after publication |