[发明专利]一种基于同步锁的多线程处理方法、终端以及存储介质在审
申请号: | 201710842005.2 | 申请日: | 2017-09-18 |
公开(公告)号: | CN107729129A | 公开(公告)日: | 2018-02-23 |
发明(设计)人: | 涂斌健;陈东持 | 申请(专利权)人: | 惠州TCL移动通信有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/52 |
代理公司: | 深圳市君胜知识产权代理事务所(普通合伙)44268 | 代理人: | 王永文,刘文求 |
地址: | 516006 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 同步 多线程 处理 方法 终端 以及 存储 介质 | ||
技术领域
本发明涉及智能终端技术领域,特别涉及一种基于同步锁的多线程处理方法、终端以及存储介质。
背景技术
最近几年内,处理器厂商受到功耗和温度的限制,同时为了保持高性能运算持续增长,计算机已经朝着多核计算机体系架构方向发展。为了充分利用多核架构,应用程序被拆分成多个可独立运行在单个CPU上面的线程,这样设计程序可以并行执行提高整体运行效率。但是,当使用多个线程来访问同一数据时,容易出现安全问题,例如,多线程都在操作同一数据导致数据不一致或者不准确的问题等。
为了解决上述问题,目前普遍采用同步机制下控制多线程对同一数据资源的访问,以使得在多线程同时访问同一数据资源时,保证所述同一数据资源每次被一个线程独占。但是,当访问所述同一资源的多线程数量较大时,会导致阻塞时间过长,甚至卡顿、应用程序无响应的问题。
因而现有技术还有待改进和提高。
发明内容
本发明要解决的技术问题在于,针对现有技术的不足,提供一种基于同步锁的多线程处理方法、终端以及存储介质,以解决现有多线程访问同一数据资源时存在的堵塞时间长的问题。
为了解决上述技术问题,本发明所采用的技术方案如下:
一种基于同步锁的多线程处理方法,其包括:
当多线程访问同一数据资源时,将所述多线程依照访问时间排序,并依照排序依次访问预设的同步锁;
通过所述同步锁控制具有写权限线程单独访问所述同一数据资源、以及具有读权限的连续多线程同时访问所述同一数据资源。
所述基于同步锁的多线程处理方法,其中,所述通过所述同步锁控制具有写权限线程单独访问所述同一数据资源、以及具有读权限的连续多线程同时访问所述同一数据资源具体包括:
当第一线程访问同步锁时,检测所述第一线程需要获取的访问权限,其中,所述访问权限包括读访问权限和写访问权限;
当所述第一线程需要获取读访问权限时,检测所述第一线程是否具有写访问权限;
若所述第一线程具有写访问权限,则为所述第一线程配置读访问权限,并控制所述第一线程访问所述同一数据资源。
所述基于同步锁的多线程处理方法,其中,所述通过所述同步锁控制具有写权限线程单独访问所述同一数据资源、以及具有读权限的连续多线程同时访问所述同一数据资源还包括:
若所述第一线程不具有写访问权限,则检测所述同一数据资源是否处于被第一写访问线程访问状态;
若未处于被第一写访问线程访问状态,则检测是否存在处于等待状态的第二写访问线程;
当未存在第二写访问线程时,为所述第一线程配置写访问权限,并控制所述第一线程访问所述同一数据资源;
当存在第二写访问线程时,控制所述第一线程线程休眠状态。
所述基于同步锁的多线程处理方法,其中,所述通过所述同步锁控制具有写权限线程单独访问所述同一数据资源、以及具有读权限的连续多线程同时访问所述同一数据资源还包括:
若处于被第一写访问线程访问状态,则判断所述第一线程与所述第一写访问线程是否相同;
如果相同,则为所述第一线程配置读访问权限,并控制所述第一线程访问所述同一数据资源,以及将所述第一线程的访问次数加一;
如果不相同,则控制所述第一线程进入休眠状态。
所述基于同步锁的多线程处理方法,其中,所述通过所述同步锁控制具有写权限线程单独访问所述同一数据资源、以及具有读权限的连续多线程同时访问所述同一数据资源还包括:
当所述第一线程需要获取写访问权限时,检测所述同一数据资源是否处于空闲状态;
当处于空闲状态时,为所述第一线程配置写访问权限,并控制所述第一线程访问所述同一数据资源。
所述基于同步锁的多线程处理方法,其中,所述通过所述同步锁控制具有写权限线程单独访问所述同一数据资源、以及具有读权限的连续多线程同时访问所述同一数据资源还包括:
当未处于空闲状态时,判断访问所述同一数据资源的第二线程的类型,其中,所述类型包括读访问线程和写访问线程;
若所述第二线程的类型为读访问线程,则控制所述第一线程进入等待状态。
所述基于同步锁的多线程处理方法,其中,所述通过所述同步锁控制具有写权限线程单独访问所述同一数据资源、以及具有读权限的连续多线程同时访问所述同一数据资源还包括:
若所述第二线程的类型为写访问线程,则检测所述第一线程与所述第二线程是否相同;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于惠州TCL移动通信有限公司,未经惠州TCL移动通信有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710842005.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种计量物资流转管理系统及其方法
- 下一篇:机场商品零售管理系统