CN117194058A - 线程同步方法、装置、设备及计算机存储介质 - Google Patents
线程同步方法、装置、设备及计算机存储介质 Download PDFInfo
- Publication number
- CN117194058A CN117194058A CN202210612526.XA CN202210612526A CN117194058A CN 117194058 A CN117194058 A CN 117194058A CN 202210612526 A CN202210612526 A CN 202210612526A CN 117194058 A CN117194058 A CN 117194058A
- Authority
- CN
- China
- Prior art keywords
- thread
- target
- request
- resource
- target resource
- 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 138
- 230000008569 process Effects 0.000 claims description 62
- 230000002618 waking effect Effects 0.000 claims description 33
- 238000004590 computer program Methods 0.000 claims description 14
- 230000007717 exclusion Effects 0.000 claims description 7
- 230000001360 synchronised effect Effects 0.000 abstract description 6
- 238000012545 processing Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种线程同步方法、装置、设备及计算机存储介质。该方法应用于微内核操作系统,微内核操作系统设置有互斥锁的微内核对象,互斥锁为快速用户空间互斥锁,该方法包括:接收由RootServer转发的第一线程的第一请求;响应于第一请求,基于互斥锁的微内核对象执行目标操作;其中,在第一请求为线程等待请求时,目标操作为:将第一线程存储至线程等待队列中,以使第一线程对目标资源进行等待;或者,在第一请求为线程唤醒请求时,目标操作为:将线程等待队列中的目标线程唤醒,以使目标线程在RootServer中获取目标资源,目标线程对应的请求访问的资源为目标资源,根据本申请实施例,能够有效保障线程间同步过程的安全性。
Description
技术领域
本申请属于计算机领域,尤其涉及一种线程同步方法、装置、设备及计算机存储介质。
背景技术
在当前的微内核机制下,线程的同步机制主要在用户态下基于信号量与互斥量实现。在该机制下,用户进程可以直接进行信号量的初始化及销毁。在这种情况下,很难保证线程间同步过程的安全性。
发明内容
本申请实施例提供一种线程同步方法、装置、设备及计算机存储介质,能够有效保障线程间同步过程的安全性。
第一方面,本申请实施例提供了一种线程同步方法,应用于微内核操作系统,微内核操作系统设置有互斥锁的微内核对象,互斥锁为快速用户空间互斥锁,该线程同步方法包括:
接收由RootServer转发的第一线程的第一请求,第一请求为与目标资源对应的线程等待请求或者线程唤醒请求;
响应于第一请求,基于互斥锁的微内核对象执行目标操作;
其中,在第一请求为线程等待请求时,目标资源为第一线程对应的请求访问的资源,目标操作为:将第一线程存储至线程等待队列中,以使第一线程对目标资源进行等待;
或者,在第一请求为线程唤醒请求时,目标资源为第一线程释放的资源,目标操作为:将线程等待队列中的目标线程唤醒,以使目标线程在RootServer中获取目标资源,目标线程对应的请求访问的资源为目标资源。
在一些可能的实现方式中,在第一请求为线程唤醒请求时,第一请求中包括第一线程释放的目标资源的标识,将线程等待队列中的目标线程唤醒,以使目标线程在RootServer中获取目标资源,包括:
基于第一线程释放的目标资源的标识,确定线程等待队列中的目标线程,线程等待队列中各个线程携带有对应的请求访问资源的资源标识;
将目标线程唤醒,以使目标线程在RootServer中获取目标资源。
在一些可能的实现方式中,在第一请求为线程等待请求时,将第一线程存储至线程等待队列中,以使第一线程对目标资源进行等待,包括:
根据第一线程的优先级,确定第一线程在线程等待队列中的存储位置;
基于第一线程在线程等待队列中的存储位置,将第一线程存储至线程等待队列中,以使第一线程对目标资源进行等待;
在第一请求为线程唤醒请求时,将线程等待队列中的目标线程唤醒,以使目标线程在RootServer中获取目标资源,包括:
在线程等待队列中的目标线程有多个的情况下,基于多个目标线程的优先级,确定待唤醒的目标线程;
将待唤醒的目标线程唤醒,以使目标线程在RootServer中获取目标资源。
在一些可能的实现方式中,将第一线程存储至线程等待队列中之后,该线程同步方法还包括:
在第一线程在线程等待队列中的等待时间超过第一预设时长后,将第一线程从线程等待队列中删除。
在一些可能的实现方式中,将目标线程唤醒,以使目标线程在RootServer中获取目标资源之后,该线程同步方法还包括:
在目标线程占用目标资源的时间超过第二预设时长之后,释放目标资源。
第二方面,本申请实施例提供一种线程同步方法,应用于RootServer,该线程同步方法包括:
接收由客户进程发送的第一线程的第一请求,第一请求为与目标资源对应的线程等待请求或者线程唤醒请求;
将第一请求转发至微内核操作系统,以使微内核操作系统基于互斥锁的微内核对象执行目标操作,微内核操作系统设置有互斥锁的微内核对象,互斥锁为快速用户空间互斥锁;
其中,在第一请求为线程等待请求时,目标资源为第一线程对应的请求访问的资源,目标操作为:将第一线程存储至线程等待队列中,以使第一线程对目标资源进行等待;
或者,在第一请求为线程唤醒请求时,目标资源为第一线程释放的资源,目标操作为:将线程等待队列中的目标线程唤醒,以使目标线程在RootServer中获取目标资源,目标线程对应的请求访问的资源为目标资源。
在一些可能的实现方式中,第一请求为线程等待请求,在接收由客户进程发送的第一请求之前,该线程同步方法包括:
接收由客户进程发送的第一线程的目标资源访问请求;
在与目标资源对应的锁状态为加锁状态的情况下,向客户进程发送目标资源占用通知。
在一些可能的实现方式中,第一请求为线程唤醒请求,向微内核操作系统转发第一线程的线程唤醒请求,包括:
向微内核操作系统转发第一线程的线程唤醒请求;
将与目标资源对应的锁状态更新为解锁状态。
在一些可能的实现方式中,在向微内核操作系统转发第一线程的线程唤醒请求之后,该线程同步方法还包括:
响应于目标线程的目标资源访问请求,将目标资源分配给目标线程;
将与目标资源对应的锁状态更新为加锁状态。
第三方面,本申请实施例提供了一种线程同步装置,应用于微内核操作系统,微内核操作系统设置有互斥锁的微内核对象,互斥锁为快速用户空间互斥锁,该线程同步装置包括:
第一接收模块,用于接收由RootServer转发的第一线程的第一请求,第一请求为与目标资源对应的线程等待请求或者线程唤醒请求;
执行模块,用于响应于第一请求,基于互斥锁的微内核对象执行目标操作;
其中,在第一请求为线程等待请求时,目标资源为第一线程对应的请求访问的资源,目标操作为:将第一线程存储至线程等待队列中,以使第一线程对目标资源进行等待;
或者,在第一请求为线程唤醒请求时,目标资源为第一线程释放的资源,目标操作为:将线程等待队列中的目标线程唤醒,以使目标线程在RootServer中获取目标资源,目标线程对应的请求访问的资源为目标资源。
第四方面,本申请实施例提供了一种线程同步装置,应用于RootServer,该线程同步装置包括:
第二接收模块,用于接收由客户进程发送的第一线程的第一请求,第一请求为与目标资源对应的线程等待请求或者线程唤醒请求;
第一转发模块,用于将第一请求转发至微内核操作系统,以使微内核操作系统基于互斥锁的微内核对象执行目标操作,微内核操作系统设置有互斥锁的微内核对象,互斥锁为快速用户空间互斥锁;
其中,在第一请求为线程等待请求时,目标资源为第一线程对应的请求访问的资源,目标操作为:将第一线程存储至线程等待队列中,以使第一线程对目标资源进行等待;
或者,在第一请求为线程唤醒请求时,目标资源为第一线程释放的资源,目标操作为:将线程等待队列中的目标线程唤醒,以使目标线程在RootServer中获取目标资源,目标线程对应的请求访问的资源为目标资源。
第五方面,本申请实施例提供了一种线程同步设备,该线程同步设备包括:
处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机程序指令时实现如上述本申请实施例中任意一项提供的线程同步方法。
第六方面,本申请实施例提供了一种线程同步系统,该线程同步系统包括如上述本申请装置实施例所提供的微内核操作系统和RootServer。
第七方面,本申请实施例提供了一种计算机存储介质,该计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如上述本申请实施例中任意一项提供的线程同步方法。
第八方面,本申请实施例提供了一种车辆,该车辆包括以下至少一项:上述本申请装置实施例中的微内核操作系统和RootServer;上述本申请实施例中所提供的线程同步系统;上述本申请实施例中所提供的线程同步设备;上述本申请实施例中所提供的计算机可读存储介质。+
本申请实施例的线程同步方法、装置、设备及计算机存储介质,应用于微内核操作系统,微内核操作系统设置有互斥锁的微内核对象,互斥锁为快速用户空间互斥锁,通过接收由RootServer转发的第一线程的第一请求,在第一请求为线程等待请求时,将第一线程存储至线程等待队列中以使第一线程对目标资源进行等待,在第一请求为线程唤醒请求时,将线程等待队列中的目标线程唤醒。本申请实施例提供的一种线程同步方法、装置、设备及计算机存储介质,通过在微内核态下设置快速用户空间互斥锁的微内核对象,以及,通过RootServer对线程的同步请求等进行统一管理以及严格校验,如此,能够有效保障线程间同步过程的安全性。
附图说明
图1是本申请一实施例提供的应用于微内核操作系统的线程同步方法的流程示意图;
图2是本申请一实施例提供的应用于RootServer的线程同步方法的流程示意图;
图3是本申请一实施例提供的线程同步方法的系统架构图;
图4是本申请一实施例提供的应用于微内核操作系统的线程同步装置的结构示意图;
图5是本申请一实施例提供的应用于RootServer的线程同步装置的结构示意图;
图6是本申请一实施例提供的线程同步设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
线程同步是指在多个线程同时访问同一资源的时候,需要保证该资源每次只能被一个线程独占。
微内核操作系统是一种基于微内核架构的操作系统,微内核是提供操作系统核心功能的内核的精简版本,它通常被设计成在很小的内存空间内增加移植性,提供模块化设计。微内核能够提供操作系统的必要的服务,这些必要的服务包括任务、线程、IPC(Inter-Process Communication,进程间通信)以及内存管理等等。
需要说明,本申请中的RootServer:所有的微内核相关资源都由RootServer初始化和管理。对于不同的用户进程,RootServer所设置的微内核资源的访问权限不同,并且,RootServer对于客户进程所发送的信息或者请求等,会进行较为严格的可信度校验。实质上,本申请中涉及的RootServer可以相当于一个具有所有微内核资源访问权限的用户进程。
如背景技术所述,在当前的微内核机制下,线程的同步机制主要在用户态下基于信号量与互斥量实现。在该机制下,用户进程可以直接进行信号量的初始化及销毁,很难保证线程间同步过程的安全性。
为了解决现有技术问题,本申请实施例提供了一种线程同步方法、装置、设备及计算机存储介质。下面首先对本申请实施例所提供的线程同步方法进行介绍。
图1示出了本申请一实施例提供的应用于微内核操作系统的线程同步方法的流程示意图,该微内核操作系统设置有互斥锁的微内核对象,互斥锁为快速用户空间互斥锁(Fast
UserspaceMutex,FUTEX)。如图1所示,本申请实施例提供的应用于文件服务器的线程同步方法包括以下步骤:
S110,接收由RootServer转发的第一线程的第一请求,第一请求为与目标资源对应的线程等待请求或者线程唤醒请求;
S120,响应于第一请求,基于互斥锁的微内核对象执行目标操作;
其中,在第一请求为线程等待请求时,目标资源为第一线程对应的请求访问的资源,目标操作为:将第一线程存储至线程等待队列中,以使第一线程对目标资源进行等待;
或者,在第一请求为线程唤醒请求时,目标资源为第一线程释放的资源,目标操作为:将线程等待队列中的目标线程唤醒,以使目标线程在RootServer中获取目标资源,目标线程对应的请求访问的资源为目标资源。
本申请实施例的线程同步方法,应用于微内核操作系统,微内核操作系统设置有互斥锁的微内核对象,互斥锁为快速用户空间互斥锁,通过接收由RootServer转发的第一线程的第一请求,在第一请求为线程等待请求时,将第一线程存储至线程等待队列中以使第一线程对目标资源进行等待,在第一请求为线程唤醒请求时,将线程等待队列中的目标线程唤醒。本申请实施例提供的一种线程同步方法,通过在微内核态下设置快速用户空间互斥锁的微内核对象,以及,通过RootServer对线程的同步请求等进行统一管理以及严格校验,如此,能够有效保障线程间同步过程的安全性。
下面对上述步骤110至120的具体实现方式进行详细介绍。
在S110中,具体实现时,可以是接收由RootServer所转发的第一线程的第一请求。
上述第一线程的第一请求的转发可以是通过RootServer进行系统调用实现。
上述第一请求可以为与目标资源对应的线程等待请求或者线程唤醒请求;上述目标资源可以是某一微内核资源。
在S120中,具体实现时,可以是在微内核操作系统接收该第一请求之后,基于互斥锁的微内核对象执行目标操作。
具体地,在上述第一请求为线程等待请求时,上述目标资源可以为第一线程对应的请求访问的资源。
此时,上述目标操作可以为:将第一线程存储至线程等待队列中,以使第一线程对目标资源进行等待。
也就是说,在上述第一请求为线程等待请求时,该第一线程所访问的目标资源处理被其他线程或进程占用,该第一线程需要等待其他线程或进程释放该目标资源。因此,需要基于互斥锁的微内核对象,将该第一线程存储至线程等待队列中,该第一线程在线程等待队列中进行等待。
需要说明,上述线程等待队列可以是预先基于上述互斥锁的微内核对象进行创建维护,本申请对此并不做具体限制。
或者,在第一请求为线程唤醒请求时,目标资源可以为第一线程释放的资源。
此时,上述目标操作可以为:将线程等待队列中的目标线程唤醒,以使目标线程在RootServer中获取目标资源,目标线程对应的请求访问的资源可以为目标资源。
也就是说,在上述第一线程的第一请求为线程唤醒请求时,该第一线程已经结束对目标资源的占用,并将该目标资源释放。
如此,在该目标资源未被占用时,可以是基于上述互斥锁的微内核对象,将线程等待队列中需要访问该目标资源的线程作为目标线程唤醒,以使目标线程在RootServer中获取目标资源。
需要说明,上述互斥锁的微内核对象,即Futex微内核对象可以是预先由RootServer通过系统调用进行创建。
相应地,在完成Futex微内核对象创建之后,RootServer可以将该互斥锁的微内核对象的句柄发送至客户进程中,从而可使客户进程基于该互斥锁的微内核对象的句柄进行线程同步处理请求。
在一些实现方式中,为了更加高效、准确地实现对目标线程的唤醒,在第一请求为线程唤醒请求时,第一请求中可以包括第一线程释放的目标资源的标识,将线程等待队列中的目标线程唤醒,以使目标线程在RootServer中获取目标资源,可以包括:
基于第一线程释放的目标资源的标识,确定线程等待队列中的目标线程,线程等待队列中各个线程可以携带有对应的请求访问资源的资源标识;
将目标线程唤醒,以使目标线程在RootServer中获取目标资源。
上述目标资源的标识可以用于唯一指示该目标资源。上述目标资源的标识具体可以为但不限于该目标资源的地址信息、该目标资源的标识代码或者索引序列等信息。
上述各个线程所携带的对应的请求访问资源的资源标识与上述目标资源的标识含义类似,为了简要起见,本申请在此不做赘述。
示例性地,在第一请求为线程唤醒请求时,上述第一线程释放的目标资源标识可以为001,在线程等待队列中可以包括线程A、线程B以及线程C,线程A对应的请求访问资源的资源标识为002,线程B对应的请求访问资源的资源标识为003,线程C对应的请求访问资源的资源标识为001。
如此,可以将第一请求中所包括的目标资源的标识001,与线程等待队列中的线程A、线程B以及线程C所携带的对应的请求访问资源的标识分别进行比较,从而可以将对应的请求访问资源的标识与目标资源的标识001一致的线程C,确定为目标线程,并将该线程C唤醒。
在一些实现方式中,考虑到较为重要的线程通常需要进行优先处理,因此,为了提高线程同步过程中的处理效率,在第一请求为线程等待请求时,将第一线程存储至线程等待队列中,以使第一线程对目标资源进行等待,可以包括:
根据第一线程的优先级,确定第一线程在线程等待队列中的存储位置;
基于第一线程在线程等待队列中的存储位置,将第一线程存储至线程等待队列中,以使第一线程对目标资源进行等待;
在第一请求为线程唤醒请求时,将线程等待队列中的目标线程唤醒,以使目标线程在RootServer中获取目标资源,可以包括:
在线程等待队列中的目标线程有多个的情况下,基于多个目标线程的优先级,确定待唤醒的目标线程;
将待唤醒的目标线程唤醒,以使目标线程在RootServer中获取目标资源。
具体地,本实施例中,在第一请求为线程等待请求时,可以是根据该第一线程的优先级,确定第一线程在线程等待队列中的存储位置。
例如,在该第一线程的优先级为最高优先级时,可以将第一线程的存储位置确定为线程等待队列中优先级最高的线程集合中。
基于此,在确定该第一线程在线程等待队列中的存储位置后,将第一线程存储至线程等待队列中优先级最高的线程集合中,如此,可以确保该第一线程在后续线程唤醒时可以被优先唤醒。
本实施例中,在第一请求为线程唤醒请求时,以及,在线程等待队列中的目标线程有多个的情况下,可以是基于多个目标线程的优先级,确定待唤醒的目标线程。
具体地,可以是将多个目标线程中优先级最高的线程,确定为待唤醒的目标线程。
如此,可以多个目标线程中优先级最高的线程作为待唤醒的目标线程唤醒,以使该被唤醒的目标线程在RootServer中获取目标资源。
应理解地是,在其他一些实施例中,当线程等待队列中的目标线程有多个的情况下,以及上述多个目标线程中,优先级排序最前的至少两个线程的优先级一致时,也可以是进一步地基于线程在线程等待队列中的等待时间确定待唤醒的目标线程。
示例性地,可以是在上述优先级排序最前、且优先级一致的至少两个线程中,将等待时间最长的线程确定为待唤醒的目标线程。
需要说明,上述不同线程的优先级可以是根据历史经验或者预设规则进行灵活设定与划分,本申请对此并不做具体限制。例如,优先级最高的线程可以为用户体验(UserExperience,Ux)线程、系统稳定性相关的线程等。
在一些实现方式中,为了进一步提高线程同步过程中的安全性,在将第一线程存储至线程等待队列中之后,该线程同步方法还可以包括:
在第一线程在线程等待队列中的等待时间超过第一预设时长后,将第一线程从线程等待队列中删除。
如此,可以在第一线程长时间在线程等待队列中处于等待状态的情况下,将该第一线程从该线程等待队列中删除,从而可以避免不必要的线程等待,提高了线程同步过程中的安全性。
需要说明,上述第一预设时长可以是根据实际场景、目标资源特征以及该第一线程特征等中的至少一项进行设置,本申请对此并不做具体限制。
在一些实现方式中,考虑到若正在占用资源的线程意外中断退出,该资源会仍处于被占用状态,因此,为了进一步提高线程同步过程中的安全性,以及避免资源的持续占用,在将目标线程唤醒,以使目标线程在RootServer中获取目标资源之后,该线程同步方法还可以包括:
在目标线程占用目标资源的时间超过第二预设时长之后,释放目标资源。
具体地,在目标线程长时间占用目标资源的情况下,微内核操作系统会主动将该目标线程所占用的目标资源强制释放,从而可使其他正在等待该目标资源的线程可以被唤醒,从而提高了资源利用的合理性和效率。
需要说明,上述第二预设时长可以是根据实际场景、目标资源特征以及该目标线程特征等中的至少一项进行设置,本申请对此并不做具体限制。
请参见图2,图2示出了本申请一实施例提供的应用于RootServer的线程同步方法的流程示意图。如图2所示,本申请实施例提供的应用于RootServer的线程同步方法包括以下步骤:
S210,接收由客户进程发送的第一线程的第一请求,第一请求为与目标资源对应的线程等待请求或者线程唤醒请求;
S220,将第一请求转发至微内核操作系统,以使微内核操作系统基于互斥锁的微内核对象执行目标操作,微内核操作系统设置有互斥锁的微内核对象,互斥锁为快速用户空间互斥锁;
其中,在第一请求为线程等待请求时,目标资源为第一线程对应的请求访问的资源,目标操作为:将第一线程存储至线程等待队列中,以使第一线程对目标资源进行等待;
或者,在第一请求为线程唤醒请求时,目标资源为第一线程释放的资源,目标操作为:将线程等待队列中的目标线程唤醒,以使目标线程在RootServer中获取目标资源,目标线程对应的请求访问的资源为目标资源。
本申请实施例的线程同步方法,应用于RootServer,通过接收由客户进程发送的第一线程的第一请求,将第一请求转发至微内核操作系统,以使微内核操作系统基于互斥锁的微内核对象执行目标操作,其中,微内核操作系统设置有互斥锁的微内核对象,互斥锁为快速用户空间互斥锁。本申请实施例提供的一种线程同步方法,通过在微内核态下设置快速用户空间互斥锁的微内核对象,以及,通过RootServer对线程的同步请求等进行统一管理及严格校验,如此,能够有效保障线程间同步过程的安全性。
下面对上述步骤210至220的具体实现方式进行详细介绍。
在S210中,具体实现时,接收由客户进程发送的第一线程的第一请求。
第一请求可以为与目标资源对应的线程等待请求或者线程唤醒请求;上述目标资源可以是某一微内核资源。
在S220中,具体实现时,可以是通过系统调用,将第一请求转发至微内核操作系统,以使微内核操作系统基于互斥锁的微内核对象执行目标操作。
其中,上述微内核操作系统设置有互斥锁的微内核对象,互斥锁为快速用户空间互斥锁。
在本实施例中,在上述第一请求为线程等待请求时,目标资源可以为第一线程对应的请求访问的资源,目标操作可以为:将第一线程存储至线程等待队列中,以使第一线程对目标资源进行等待。
或者,在本实施例中,当上述第一请求为线程唤醒请求的情况下,目标资源可以为第一线程释放的资源,上述目标操作可以为:将线程等待队列中的目标线程唤醒,以使目标线程在RootServer中获取目标资源,目标线程对应的请求访问的资源为目标资源。
应理解地是,为了简要起见,本申请对上述步骤并不做具体描述,具体可以参见前述步骤110以及步骤120中相关内容的描述。
需要说明,在其他一些实施例中,上述第一请求为线程唤醒请求的情况下,目标资源为第一线程释放的资源,考虑到在第一线程释放该目标资源时,线程等待队列中可能并没有对目标资源处于等待状态的其他线程,因此,为了进一步提高线程同步效率,避免操作冗余,在接收由客户发送的第一线程的第一请求之后,以及,在将第一请求转发至微内核操作系统之前,该方法还可以包括:
检测与目标资源对应的线程等待标识参数;
在目标资源对应的线程等待标识参数满足预设条件的情况下,确定线程等待队列中包括目标线程。
需要说明,RootServer中可以包括各个资源的线程等待标识参数,RootServer在与客户进程通信时,会对线程对各个资源的访问请求行为进行记录,并相应的对各个资源的线程等待标识参数进行调整。
上述线程等待标识参数可以用于指示是否有正在等待对应资源的线程。其具体可以是一串字符、一个函数变量或者其他数据形式等。
上述预设条件可以是根据上述线程等待标识参数的具体形式进行灵活调整。
作为一示例,上述目标资源的线程等待标识参数为一变量,该变量下限设为0,若在上述第一线程先前占用该目标资源期间,存在第二线程对该目标资源进行访问请求。
那么,一方面RootServer会将该第二线程的线程等待请求转发至微内核操作系统,以使该第二线程在线程等待队列中对该目标资源进行等待,另一方面,RootServer则会对第二线程对目标资源的访问请求行为进行相应记录,并对该目标资源的线程等待标识参数(变量)进行调整,例如,将该变量值加一。
如此,在目标资源被第一线程释放后,RootServer会对该目标资源的线程等待标识进行检测,例如,上述预设条件可以为:线程等待标识参数对应的变量值为正数,从而可以判断在线程等待队列中存在需要被唤醒的线程。
需要说明,为了节省资源、提升效率,在上述目标资源对应的线程等待标识参数不满足预设条件时,即,在线程等待队列中并无正在等待目标资源的线程的情况下,RootServer可以不执行向微内核操作系统转发上述第一线程的线程唤醒请求的操作,如此,避免了不必要的资源耗费。
在一些实现方式中,考虑到在第一线程对目标资源请求访问失败后,才会发起线程等待请求,因此,第一请求为线程等待请求,在接收由客户进程发送的第一请求之前,该线程同步方法可以包括:
接收由客户进程发送的第一线程的目标资源访问请求;
在与目标资源对应的锁状态为加锁状态的情况下,向客户进程发送目标资源占用通知。
具体实现时,上述客户进程与RootServer可以进行通信交互,从而实现上述目标资源访问请求以及上述目标资源占用通知的收发。更具体地,上述客户进程与RootServer之间可以是通过IPC机制,实现上述信息的收发。
上述目标资源访问请求可以用于对上述目标资源的锁状态进行查询。
上述目标资源占用通知可以用于指示该目标资源已被占用,其具体可以表现为一串代码、一段报文或者其他数据形式等,本申请在此并不做具体限制。
需要说明,上述RootServer中可以包括相应的字段、变量或者标识,以标识该目标资源的锁状态。
例如,RootServer中相应的字段为0,则可以表示该目标资源已被占用,该目标资源的锁状态为加锁状态;RootServer中相应的字段为1,则可以表示该目标资源未被占用,该目标资源的锁状态为解锁状态。
需要说明,在其他一些实施例中,在接收由客户进程发送的第一线程的目标资源访问请求之后,以及,在与目标资源对应的锁状态为解锁状态的情况下,该第一线程可以直接获取到该目标资源。
在一些实现方式中,为了保障资源的合理调度,第一请求为线程唤醒请求,向微内核操作系统转发第一线程的线程唤醒请求,可以包括:
向微内核操作系统转发第一线程的线程唤醒请求;
将与目标资源对应的锁状态更新为解锁状态。
需要说明,上述向微内核操作系统转发第一线程的线程唤醒请求,以及,将与目标资源对应的锁状态更新为解锁状态的操作为原子操作,因此,可以将上述的转发以及更新步骤视为同时进行。
在一些实现方式中,为了保障资源的合理调度,在向微内核操作系统转发第一线程的线程唤醒请求之后,该线程同步方法还可以包括:
响应于目标线程的目标资源访问请求,将目标资源分配给目标线程;
将与目标资源对应的锁状态更新为加锁状态。
具体地,上述对与目标资源对应的锁状态更新,可以是对用于指示该目标资源对应的锁状态的字段、标识或者变量等进行更新,本申请对此并不做具体限制。
为了便于更好的理解本申请,下面请参见图3,图3是本申请一实施例提供的线程同步方法的系统架构图。
在图3中,客户进程与RootServer位于用户态,快速用户同步互斥锁的微内核对象位于微内核态。
在用户态下,客户进程可以与RootServer进行交互通信,客户进程可以是通过向RootServer发起请求,RootServer可以向客户进程返回相应的请求结果。
以及,在客户进程需要调用快速用户同步互斥锁的微内核对象,以实现对线程的唤醒或者等待操作时,客户进程可以向RootServer发起相应的请求,RootServer通过系统调用,可以实现对微内态下的快速用户同步互斥锁的微内核对象的调用,从而可以执行后续对线程的唤醒或等待操作。
基于上述实施例提供的应用于微内核操作系统的线程同步方法,相应地,本申请还提供了与上述应用于微内核操作系统的线程同步方法相对应的一种线程同步装置,下面通过图4对线程同步装置进行详细介绍。
图4是本申请一实施例提供的应用于微内核操作系统的线程同步装置的结构示意图,该微内核操作系统设置有互斥锁的微内核对象,互斥锁为快速用户空间互斥锁。图4示出的线程同步装置包括:
第一接收模块410,用于接收由RootServer转发的第一线程的第一请求,第一请求为与目标资源对应的线程等待请求或者线程唤醒请求;
执行模块420,用于响应于第一请求,基于互斥锁的微内核对象执行目标操作;
其中,在第一请求为线程等待请求时,目标资源为第一线程对应的请求访问的资源,目标操作为:将第一线程存储至线程等待队列中,以使第一线程对目标资源进行等待;
或者,在第一请求为线程唤醒请求时,目标资源为第一线程释放的资源,目标操作为:将线程等待队列中的目标线程唤醒,以使目标线程在RootServer中获取目标资源,目标线程对应的请求访问的资源为目标资源。
本申请实施例的线程同步装置,应用于微内核操作系统,微内核操作系统设置有互斥锁的微内核对象,互斥锁为快速用户空间互斥锁,通过相应的功能模块,接收由RootServer转发的第一线程的第一请求,在第一请求为线程等待请求时,将第一线程存储至线程等待队列中以使第一线程对目标资源进行等待,在第一请求为线程唤醒请求时,将线程等待队列中的目标线程唤醒。本申请实施例提供的一种线程同步装置,通过在微内核态下设置快速用户空间互斥锁的微内核对象,以及,通过RootServer对线程的同步请求等进行统一管理,如此,能够有效保障线程间同步过程的安全性。
在一些实现方式中,为了更加高效、准确地实现对目标线程的唤醒,在第一请求为线程唤醒请求时,第一请求中可以包括第一线程释放的目标资源的标识,将线程等待队列中的目标线程唤醒,以使目标线程在RootServer中获取目标资源,可以包括:
基于第一线程释放的目标资源的标识,确定线程等待队列中的目标线程,线程等待队列中各个线程可以携带有对应的请求访问资源的资源标识;
将目标线程唤醒,以使目标线程在RootServer中获取目标资源。
在一些实现方式中,考虑到较为重要的线程通常需要进行优先处理,因此,为了提高线程同步过程中的处理效率,在第一请求为线程等待请求时,将第一线程存储至线程等待队列中,以使第一线程对目标资源进行等待,可以包括:
根据第一线程的优先级,确定第一线程在线程等待队列中的存储位置;
基于第一线程在线程等待队列中的存储位置,将第一线程存储至线程等待队列中,以使第一线程对目标资源进行等待;
在第一请求为线程唤醒请求时,将线程等待队列中的目标线程唤醒,以使目标线程在RootServer中获取目标资源,可以包括:
在线程等待队列中的目标线程有多个的情况下,基于多个目标线程的优先级,确定待唤醒的目标线程;
将待唤醒的目标线程唤醒,以使目标线程在RootServer中获取目标资源。
在一些实现方式中,为了进一步提高线程同步过程中的安全性,将第一线程存储至线程等待队列中之后,该线程同步装置还可以包括:
删除模块,可以用于在第一线程在线程等待队列中的等待时间超过第一预设时长后,将第一线程从线程等待队列中删除。
在一些实现方式中,考虑到若正在占用资源的线程意外中断退出,该资源会仍处于被占用状态,因此,为了进一步提高线程同步过程中的安全性,以及避免资源的持续占用,将目标线程唤醒,以使目标线程在RootServer中获取目标资源之后,该线程同步装置还可以包括:
释放模块,可以用于在目标线程占用目标资源的时间超过第二预设时长之后,释放目标资源。
基于上述实施例提供的应用于RootServer的线程同步方法,相应地,本申请还提供了与上述应用于RootServer中的线程同步方法相对应的一种线程同步装置,下面通过图5对线程同步装置进行详细介绍。
图5是本申请一实施例提供的应用于RootServer的线程同步装置的结构示意图。图5示出的线程同步装置包括:
第二接收模块510,用于接收由客户进程发送的第一线程的第一请求,第一请求为与目标资源对应的线程等待请求或者线程唤醒请求;
第一转发模块520,用于将第一请求转发至微内核操作系统,以使微内核操作系统基于互斥锁的微内核对象执行目标操作,微内核操作系统设置有互斥锁的微内核对象,互斥锁为快速用户空间互斥锁;
其中,在第一请求为线程等待请求时,目标资源为第一线程对应的请求访问的资源,目标操作为:将第一线程存储至线程等待队列中,以使第一线程对目标资源进行等待;
或者,在第一请求为线程唤醒请求时,目标资源为第一线程释放的资源,目标操作为:将线程等待队列中的目标线程唤醒,以使目标线程在RootServer中获取目标资源,目标线程对应的请求访问的资源为目标资源。
本申请实施例的线程同步装置,应用于RootServer,通过相应的功能模块,接收由客户进程发送的第一线程的第一请求,将第一请求转发至微内核操作系统,以使微内核操作系统基于互斥锁的微内核对象执行目标操作,其中,微内核操作系统设置有互斥锁的微内核对象,互斥锁为快速用户空间互斥锁。本申请实施例提供的一种线程同步装置,通过在微内核态下设置快速用户空间互斥锁的微内核对象,以及,通过RootServer对线程的同步请求等进行统一管理,如此,能够有效保障线程间同步过程的安全性。
在一些实现方式中,考虑到在第一线程对目标资源请求访问失败后,才会发起线程等待请求,因此,第一请求为线程等待请求,在接收由客户进程发送的第一请求之前,该线程同步装置可以包括:
第三接收模块,可以用于接收由客户进程发送的第一线程的目标资源访问请求;
通知发送模块,可以用于在与目标资源对应的锁状态为加锁状态的情况下,向客户进程发送目标资源占用通知。
在一些实现方式中,为了保障资源的合理调度,第一请求为线程唤醒请求,向微内核操作系统转发第一线程的线程唤醒请求,可以包括:
向微内核操作系统转发第一线程的线程唤醒请求;
将与目标资源对应的锁状态更新为解锁状态。
在一些实现方式中,为了保障资源的合理调度,在向微内核操作系统转发第一线程的线程唤醒请求之后,该线程同步装置还可以包括:
分配模块,可以用于响应于目标线程的目标资源访问请求,将目标资源分配给目标线程;
更新模块,可以用于将与目标资源对应的锁状态更新为加锁状态。
基于本申请所提供的上述装置实施例,本申请实施例提供了一种线程同步系统,该线程同步系统包括如上述本申请装置实施例所提供的微内核操作系统和RootServer。
图6是本申请一实施例提供的线程同步设备的结构示意图。
线程同步设备可以包括处理器601以及存储有计算机程序指令的存储器602。
具体地,上述处理器601可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器602可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器602可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器602可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器602可在综合网关容灾设备的内部或外部。在特定实施例中,存储器602是非易失性固态存储器。
存储器可包括只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本公开的一方面的方法所描述的操作。
处理器601通过读取并执行存储器602中存储的计算机程序指令,以实现上述实施例中的任意一种线程同步方法。
在一个示例中,数据线程同步设备还可包括通信接口603和总线610。其中,如图6所示,处理器601、存储器602、通信接口603通过总线610连接并完成相互间的通信。
通信接口603,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。
总线610包括硬件、软件或两者,将线程同步设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线610可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
该线程同步设备执行本申请实施例中的线程同步方法,从而实现图1和图2描述的线程同步方法。
另外,结合上述实施例中的线程同步方法,本申请实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种线程同步方法。
以及,本申请实施例还提供了一种车辆,该车辆包括以下至少一项:上述本申请装置实施例中的微内核操作系统和RootServer;上述本申请实施例中所提供的线程同步系统;上述本申请实施例中所提供的线程同步设备;上述本申请实施例中所提供的计算机可读存储介质。+
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
上面参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程线程同步装置的处理器,以产生一种机器,使得经由计算机或其它可编程线程同步装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
以上所述,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。
Claims (15)
1.一种线程同步方法,其特征在于,应用于微内核操作系统,所述微内核操作系统设置有互斥锁的微内核对象,所述互斥锁为快速用户空间互斥锁,所述方法包括:
接收由根域名服务器RootServer转发的第一线程的第一请求,所述第一请求为与目标资源对应的线程等待请求或者线程唤醒请求;
响应于所述第一请求,基于所述互斥锁的微内核对象执行目标操作;
其中,在所述第一请求为线程等待请求时,所述目标资源为所述第一线程对应的请求访问的资源,所述目标操作为:将所述第一线程存储至线程等待队列中,以使所述第一线程对所述目标资源进行等待;
或者,在所述第一请求为线程唤醒请求时,所述目标资源为所述第一线程释放的资源,所述目标操作为:将所述线程等待队列中的目标线程唤醒,以使所述目标线程在所述RootServer中获取所述目标资源,所述目标线程对应的请求访问的资源为所述目标资源。
2.如权利要求1所述的方法,其特征在于,所述在所述第一请求为线程唤醒请求时,所述第一请求中包括所述第一线程释放的所述目标资源的标识,所述将线程等待队列中的目标线程唤醒,以使所述目标线程在所述RootServer中获取所述目标资源,包括:
基于所述第一线程释放的所述目标资源的标识,确定所述线程等待队列中的目标线程,所述线程等待队列中各个线程携带有对应的请求访问资源的资源标识;
将所述目标线程唤醒,以使所述目标线程在所述RootServer中获取所述目标资源。
3.如权利要求1所述的方法,其特征在于,在所述第一请求为线程等待请求时,所述将所述第一线程存储至线程等待队列中,以使所述第一线程对所述目标资源进行等待,包括:
根据所述第一线程的优先级,确定所述第一线程在所述线程等待队列中的存储位置;
基于所述第一线程在所述线程等待队列中的存储位置,将所述第一线程存储至所述线程等待队列中,以使所述第一线程对所述目标资源进行等待;
在所述第一请求为线程唤醒请求时,所述将所述线程等待队列中的目标线程唤醒,以使所述目标线程在所述RootServer中获取所述目标资源,包括:
在所述线程等待队列中的目标线程有多个的情况下,基于所述多个目标线程的优先级,确定待唤醒的目标线程;
将所述待唤醒的目标线程唤醒,以使所述目标线程在所述RootServer中获取所述目标资源。
4.如权利要求1所述的方法,其特征在于,所述将所述第一线程存储至线程等待队列中之后,所述方法还包括:
在所述第一线程在所述线程等待队列中的等待时间超过第一预设时长后,将所述第一线程从所述线程等待队列中删除。
5.如权利要求1所述的方法,其特征在于,所述将所述目标线程唤醒,以使所述目标线程在所述RootServer中获取所述目标资源之后,所述方法还包括:
在所述目标线程占用所述目标资源的时间超过第二预设时长之后,释放所述目标资源。
6.一种线程同步方法,其特征在于,应用于RootServer,所述方法包括:
接收由客户进程发送的第一线程的第一请求,所述第一请求为与目标资源对应的线程等待请求或者线程唤醒请求;
将所述第一请求转发至微内核操作系统,以使所述微内核操作系统基于互斥锁的微内核对象执行目标操作,所述微内核操作系统设置有所述互斥锁的微内核对象,所述互斥锁为快速用户空间互斥锁;
其中,在所述第一请求为线程等待请求时,所述目标资源为所述第一线程对应的请求访问的资源,所述目标操作为:将所述第一线程存储至线程等待队列中,以使所述第一线程对所述目标资源进行等待;
或者,在所述第一请求为线程唤醒请求时,所述目标资源为所述第一线程释放的资源,所述目标操作为:将所述线程等待队列中的目标线程唤醒,以使所述目标线程在所述RootServer中获取所述目标资源,所述目标线程对应的请求访问的资源为所述目标资源。
7.如权利要求6所述的方法,其特征在于,所述第一请求为线程等待请求,所述在所述接收由客户进程发送的第一请求之前,所述方法包括:
接收由所述客户进程发送的所述第一线程的目标资源访问请求;
在与所述目标资源对应的锁状态为加锁状态的情况下,向所述客户进程发送目标资源占用通知。
8.如权利要求6所述的方法,其特征在于,所述第一请求为线程唤醒请求,所述向所述微内核操作系统转发所述第一线程的线程唤醒请求,包括:
向所述微内核操作系统转发所述第一线程的线程唤醒请求;
将与所述目标资源对应的锁状态更新为解锁状态。
9.如权利要求8所述的方法,其特征在于,在所述向所述微内核操作系统转发所述第一线程的线程唤醒请求之后,所述方法还包括:
响应于所述目标线程的目标资源访问请求,将所述目标资源分配给所述目标线程;
将与所述目标资源对应的锁状态更新为加锁状态。
10.一种线程同步装置,其特征在于,应用于微内核操作系统,所述微内核操作系统设置有互斥锁的微内核对象,所述互斥锁为快速用户空间互斥锁,所述装置包括:
第一接收模块,用于接收由RootServer转发的第一线程的第一请求,所述第一请求为与目标资源对应的线程等待请求或者线程唤醒请求;
执行模块,用于响应于所述第一请求,基于所述互斥锁的微内核对象执行目标操作;
其中,在所述第一请求为线程等待请求时,所述目标资源为所述第一线程对应的请求访问的资源,所述目标操作为:将所述第一线程存储至线程等待队列中,以使所述第一线程对所述目标资源进行等待;
或者,在所述第一请求为线程唤醒请求时,所述目标资源为所述第一线程释放的资源,所述目标操作为:将所述线程等待队列中的目标线程唤醒,以使所述目标线程在所述RootServer中获取所述目标资源,所述目标线程对应的请求访问的资源为所述目标资源。
11.一种线程同步装置,其特征在于,应用于RootServer,所述装置包括:
第二接收模块,用于接收由客户进程发送的第一线程的第一请求,所述第一请求为与目标资源对应的线程等待请求或者线程唤醒请求;
第一转发模块,用于将所述第一请求转发至微内核操作系统,以使所述微内核操作系统基于互斥锁的微内核对象执行目标操作,所述微内核操作系统设置有所述互斥锁的微内核对象,所述互斥锁为快速用户空间互斥锁;
其中,在所述第一请求为线程等待请求时,所述目标资源为所述第一线程对应的请求访问的资源,所述目标操作为:将所述第一线程存储至线程等待队列中,以使所述第一线程对所述目标资源进行等待;
或者,在所述第一请求为线程唤醒请求时,所述目标资源为所述第一线程释放的资源,所述目标操作为:将所述线程等待队列中的目标线程唤醒,以使所述目标线程在所述RootServer中获取所述目标资源,所述目标线程对应的请求访问的资源为所述目标资源。
12.一种线程同步系统,其特征在于,所述系统包括如权利要求10所述的微内核操作系统和如权利要求11所述的RootServer。
所述处理器执行所述计算机程序指令时实现如权利要求1-9任意一项所述的线程同步方法。
13.一种线程同步设备,其特征在于,所述设备包括:处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机程序指令时实现如权利要求1-9任意一项所述的线程同步方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-9任意一项所述的线程同步方法。
15.一种车辆,其特征在于,包括以下至少一项:如权利要求10所述的微内核操作系统和如权利要求11所述的RootServer;如权利要求12所述的线程同步系统;如权利要求13所述的线程同步设备;如权利要求14所述的计算机可读存储介质。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210612526.XA CN117194058A (zh) | 2022-05-31 | 2022-05-31 | 线程同步方法、装置、设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210612526.XA CN117194058A (zh) | 2022-05-31 | 2022-05-31 | 线程同步方法、装置、设备及计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117194058A true CN117194058A (zh) | 2023-12-08 |
Family
ID=88998442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210612526.XA Pending CN117194058A (zh) | 2022-05-31 | 2022-05-31 | 线程同步方法、装置、设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117194058A (zh) |
-
2022
- 2022-05-31 CN CN202210612526.XA patent/CN117194058A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180295034A1 (en) | Techniques for analytics-driven hybrid concurrency control in clouds | |
US10521393B2 (en) | Remote direct memory access (RDMA) high performance producer-consumer message processing | |
CN108572876B (zh) | 一种读写锁的实现方法及装置 | |
US9448861B2 (en) | Concurrent processing of multiple received messages while releasing such messages in an original message order with abort policy roll back | |
AU2015317916B2 (en) | File reputation evaluation | |
CN110505162B (zh) | 消息传输方法、装置及电子设备 | |
CN110188110B (zh) | 一种构建分布式锁的方法及装置 | |
CN112540829A (zh) | 容器组驱逐方法、装置、节点设备及存储介质 | |
CN112860387A (zh) | 分布式任务调度方法、装置、计算机设备及存储介质 | |
CN110737681A (zh) | 处理请求的加锁处理方法、装置、计算机设备及存储介质 | |
CN112084068A (zh) | 一种数据库远程备份方法、装置和云端服务器 | |
CN115658153A (zh) | 睡眠锁优化方法、装置、电子设备及存储介质 | |
CN117194058A (zh) | 线程同步方法、装置、设备及计算机存储介质 | |
CN112015563A (zh) | 消息队列切换方法、装置、电子设备及存储介质 | |
CN116880990A (zh) | 任务执行方法、装置、电子设备及计算机可读存储介质 | |
CN109067864B (zh) | 通知消息推送方法、装置及电子设备 | |
CN116708576A (zh) | 服务提供方法、装置、设备及计算机可读存储介质 | |
CN109558222B (zh) | 批量业务进程监控方法、装置、计算机及可读存储介质 | |
CN117667325A (zh) | 定时器管理方法、装置、设备及计算机存储介质 | |
CN115567448A (zh) | 流量控制方法、装置、设备、介质及程序产品 | |
CN112437125B (zh) | 信息并发处理方法、装置、电子设备及存储介质 | |
CN107632893B (zh) | 消息队列处理方法及装置 | |
CN112988407B (zh) | 数据处理方法和装置、电子设备及计算机可读存储介质 | |
CN114297241A (zh) | 资源锁定方法、装置、设备及介质 | |
WO2016184201A1 (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 |