【技术实现步骤摘要】
一种线程运行方法、装置、计算机设备和存储介质
[0001]本专利技术涉及计算机领域,具体涉及一种线程运行方法、装置、计算机设备和存储介质。
技术介绍
[0002]随着科学技术的发展,人们对计算机的运行效率要求越来越高。为了提高计算机的运行效率,一般会并行地运行多个线程。当并行地运行多个线程时,会出现多个线程同时访问同一资源的现象。当多个线程同时访问同一资源时,由于资源不同步,从而使得在访问时会出现错误。
[0003]为了解决该技术问题,引入了锁机制,即只有获取到资源对应的锁之后该线程才能执行。但是,在获取锁的过程中,如果该锁已经被其他线程持有,则该线程需要等待至该持有线程运行完成释放该锁后才能获取到该锁。
[0004]目前,在等待锁的过程中,该线程可以确定锁的持有线程,从而可以优先运行该锁的持有线程,进而减少等待时间。然而,如果该锁的持有线程同时也在等待其他锁,则该线程无法获取到其他锁的持有线程,从而无法优先运行其他锁的持有线程,进而无法减少该线程的等待时间。
技术实现思路
[0005]本申请 ...
【技术保护点】
【技术特征摘要】
1.一种线程运行方法,其特征在于,包括:建立目标映射表,所述目标映射表包括等待线程、锁以及持有线程之间的对应关系;当检测到第一等待线程需等待第一目标锁时,基于所述目标映射表,确定与所述第一目标锁对应的第一持有线程,以及所述第一持有线程等待的第二目标锁;从所述目标映射表中查找与所述第二目标锁对应的第二持有线程;运行所述第二持有线程,并在释放所述第二目标锁后,运行所述第一持有线程。2.如权利要求1所述的线程运行方法,其特征在于,在所述当检测到第一等待线程需等待第一目标锁时,所述方法还包括:将所述第一等待线程以及所述第一目标锁关联存储至所述目标映射表中。3.如权利要求1所述的线程运行方法,其特征在于,在所述运行所述第二持有线程,并在释放所述第二目标锁后,运行所述第一持有线程之后,还包括:当所述第一等待线程获取到所述第一目标锁时,将所述第一等待线程作为新的第一持有线程,并将所述新的第一持有线程和所述第一目标锁关联存储至所述目标映射表中。4.如权利要求1所述的线程运行方法,其特征在于,将所述等待线程、所述锁以及所述持有线程以结构体的形式存储在所述目标映射表中。5.如权利要求1所述的线程运行方法,其特征在于,当所述锁包括读写锁时,所述目标映射表为链表。6.如权利要求1所述的线程运行方法,其特征在于,所述从所述目标映射表中查找与所述第二目标锁对应的第二持有线程,包括:从所述目标映射表中查找与所述第二目标锁对应的候选持有线程;若所述候选持有线程为等待线程,则继续从所述目标映射表查找,直至查找到的候选持有线程不是等待线程时,将所述候选持有线程...
【专利技术属性】
技术研发人员:徐佳俊,
申请(专利权)人:深圳TCL新技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。