[发明专利]数据处理方法与系统在审
申请号: | 202110635503.6 | 申请日: | 2021-06-08 |
公开(公告)号: | CN113377509A | 公开(公告)日: | 2021-09-10 |
发明(设计)人: | 罗小凡 | 申请(专利权)人: | 上海哔哩哔哩科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/52 |
代理公司: | 北京英特普罗知识产权代理有限公司 11015 | 代理人: | 王勇;邓小玲 |
地址: | 200433 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据处理 方法 系统 | ||
本申请实施例公开了一种数据处理方法,用于计算机设备中,所述计算机设备配置有循环队列,该循环队列用于多个线程之间的数据传递;所述数据处理方法包括:响应于目标线程针对所述循环队列的操作请求,将所述循环队列的历史操作位置信息提供给所述目标线程;根据所述目标线程获取到的所述历史操作位置信息和所述循环队列的当前操作位置信息,确定所述目标线程是否对所述循环队列执行目标操作,所述目标操作包括写入操作或读取操作;及若确定所述目标线程对所述循环队列执行所述目标操作,则更新所述当前操作位置信息并执行所述目标操作。在本申请实施例中,无需加锁解锁,避免了加解锁的性能开销,降低系统资源的消耗。
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种数据处理方法、系统、计算机设备及可读存储介质。
背景技术
操作系统(如,安卓系统)一般都支持多个进程、多线程运行。共享资源等可以被多个线程访问。为了避免多线程同时访问共享资源引起的数据竞争从而产生不可预期的资源结果,可以通过给资源加锁的方式避免生产者线程和消费者线程之间的资源竞争。其中,生产者线程为用于资源写入,消费者线程用于资源读取。无论是资源生产者还是资源消费者,在对资源执行相应的操作之前,都需要对该资源进行加锁。发明人所了解到的是,目前并发安全地访问共享资源较为主流的是通过互斥锁、自旋锁或读写锁实现。其中,互斥锁适合临界区执行时间相对长的场景;自旋锁适合临界区执行时间相对短的场景;而读写锁分为读模式的锁和写模式的锁,读取资源时使用读模式的锁,写入资源时使用写模式的锁,适合多读少写的场景。
但是,对共享资源进行多线程的安全并发访问时,加粗粒度的锁会降低软件性能,消耗不必要的系统资源。
发明内容
有鉴于此,本申请实施例的目的是提供一种数据处理方法、系统、计算机设备及计算机可读存储介质,用于解决以下问题:对共享资源进行多线程的安全并发访问时,加粗粒度的锁会降低软件性能,消耗不必要的系统资源。
本申请实施例的一个方面提供了数据处理方法,用于计算机设备中,所述计算机设备配置有循环队列,该循环队列用于多个线程之间的数据传递;所述数据处理方法包括:响应于目标线程针对所述循环队列的操作请求,将所述循环队列的历史操作位置信息提供给所述目标线程,所述历史操作位置信息为所述多个线程针对所述循环队列的最后一次操作的操作位置信息,所述目标线程为所述多个线程中的任意一个;根据所述目标线程获取到的所述历史操作位置信息和所述循环队列的当前操作位置信息,确定所述目标线程是否对所述循环队列执行目标操作,所述目标操作包括写入操作或读取操作;及若确定所述目标线程对所述循环队列执行所述目标操作,则更新所述当前操作位置信息并执行所述目标操作。
可选的,所述根据所述目标线程获取到的所述历史操作位置信息和所述循环队列的当前操作位置信息,确定所述目标线程是否对所述循环队列执行目标操作,包括:判断通过所述目标线程获取到的所述历史操作位置信息和所述当前操作位置信息是否相同;若通过所述目标线程获取到的所述历史操作位置信息和所述当前操作位置信息相同,则确定所述目标线程对所述循环队列执行目标操作;若通过所述目标线程获取到的所述历史操作位置信息和所述当前操作位置信息不相同,则执行以下循环操作,直至通过所述目标线程获取到的历史操作位置信息和所述当前操作位置信息相同:响应于所述目标线程的再次操作请求,将所述循环队列的最新的历史操作位置信息提供给所述目标线程,并判断所述目标线程获取到的所述最新的历史操作位置信息和所述当前操作位置信息是否相同。
可选的,还包括:判断所述循环操作的次数是否大于预设阈值;若所述循环操作的次数大于所述预设阈值,则降低所述多个线程的线程数量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海哔哩哔哩科技有限公司,未经上海哔哩哔哩科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110635503.6/2.html,转载请声明来源钻瓜专利网。