共享内存的读写方法及装置制造方法及图纸

技术编号:25041064 阅读:30 留言:0更新日期:2020-07-29 05:32
本发明专利技术公开了一种共享内存的读写方法及装置,其中,该方法包括:获取内存的读操作信息,读操作信息用于指示当前是否存在执行内存读操作的线程;响应于读操作信息指示当前未存在执行内存读操作的线程,执行写数据锁操作并对内存进行写操作,以更新内存中的数据,其中,写数据锁用于在执行写操作时阻止线程执行读操作;当写操作执行完成后,对数据版本信息进行更新,以便于线程根据数据版本信息进行读操作。通过本发明专利技术,可以提高多个线程进行读写内存共享数据时的性能。

【技术实现步骤摘要】
共享内存的读写方法及装置
本专利技术涉及计算机领域,具体涉及一种共享内存的读写方法及装置。
技术介绍
单机上执行的多个进程需要共享数据,因而更新和读取操作都较频繁,为了使数据操作同步,每个进程在进行读操作时,需要对共享数据加全局锁。在共享数据较多、加载时间(读操作)较长的场景下,加锁会严重影响性能。例如,在同一台机器上多个进程同时访问一块共享内存,当一个进程更新了共享内存内容之后,其他进程都需要读取该共享内存并刷新,此时每个进程的读操作都需要进行加锁操作,当加锁时间过长时,就会严重影响所有进程的读操作性能。
技术实现思路
有鉴于此,本专利技术提供一种共享内存的读写方法及装置,以解决上述提及的至少一个问题。根据本专利技术的第一方面,提供一种共享内存的读写方法,所述方法包括:获取内存的读操作信息,所述读操作信息用于指示当前是否存在执行内存读操作的线程;响应于所述读操作信息指示当前未存在执行内存读操作的线程,执行写数据锁操作并对所述内存进行写操作,以更新所述内存中的数据,其中,所述写数据锁用于在执行所述写操作时阻止线程执行本文档来自技高网...

【技术保护点】
1.一种共享内存的读写方法,其特征在于,所述方法包括:/n获取内存的读操作信息,所述读操作信息用于指示当前是否存在执行内存读操作的线程;/n响应于所述读操作信息指示当前未存在执行内存读操作的线程,执行写数据锁操作并对所述内存进行写操作,以更新所述内存中的数据,其中,所述写数据锁用于在执行所述写操作时阻止线程执行读操作;/n当所述写操作执行完成后,对数据版本信息进行更新,以便于线程根据所述数据版本信息进行读操作。/n

【技术特征摘要】
1.一种共享内存的读写方法,其特征在于,所述方法包括:
获取内存的读操作信息,所述读操作信息用于指示当前是否存在执行内存读操作的线程;
响应于所述读操作信息指示当前未存在执行内存读操作的线程,执行写数据锁操作并对所述内存进行写操作,以更新所述内存中的数据,其中,所述写数据锁用于在执行所述写操作时阻止线程执行读操作;
当所述写操作执行完成后,对数据版本信息进行更新,以便于线程根据所述数据版本信息进行读操作。


2.根据权利要求1所述的方法,其特征在于,所述读操作信息用数值表示,所述方法还包括:
当线程根据更新的数据版本信息进行读操作时,读操作信息值增加;
当线程的读操作执行完成后,读操作信息值减小。


3.根据权利要求1所述的方法,其特征在于,当所述写操作执行完成后,所述方法还包括:
释放所述写数据锁操作。


4.根据权利要求3所述的方法,其特征在于,当线程根据更新的数据版本信息进行读操作之前,所述方法还包括:
判断所述写数据锁是否为释放状态;
响应于所述写数据锁为释放状态,执行读数据锁操作并进行读操作,所述读数据锁用于在线程执行所述读操作时阻止执行写操作。


5.一种共享内存的读写装置,其特征在于,所述装置包括:
信息获取单元,用于获取内存的读操作信息,所述读操作信息用于指示当前是否存在执行内存读操作的线程;
加写锁单元,用于响应于所述读操作信...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:中国人民银行清算总中心
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1