【技术实现步骤摘要】
调整时间的方法、装置、电子设备及存储介质
本专利技术涉及数据处理
,特别是涉及一种调整时间的方法、一种调整时间的装置、一种电子设备以及一种存储介质。
技术介绍
在多线程编程中,数据共享是不可避免的。因此,在多线程进行并行编程的时候,数据共享的一致性成为需要考虑的首要问题。例如,为了在多线程数据访问的过程中保证数据的一致性和安全性,JAVA语言提供了同步的(synchronized)关键字来实现同步,即可使用该关键字来锁定某个对象的临界区。具体的,Java虚拟机(JavaVirtualMachine,JVM)使用锁机制来保证不同线程对于该关键字标识出来的临界区的互斥访问,即任何线程必须先获取锁了之后才能访问该临界区,访问完成退出该临界区的时候必须释放锁,以便其他线程的进入。当存在一系列线程A[1]~A[n]使用了某一个共享数据模块(简称数据块),在某一线程占用该数据块的时候,其它线程都必须进入睡眠状态等待被唤醒。如果每次线程占用数据块时间比较短,就会出现频繁的数据切换,消耗大量中央处理器(CentralProcessingUnit,CPU)资源,导致线程有效吞 ...
【技术保护点】
1.一种调整时间的方法,其特征在于,包括:当程序中的目标线程占用共享资源时,检测所述目标线程对应的占用时间;依据所述占用时间,调整自旋时间,其中,所述自旋时间用于确定申请线程是否需要进入睡眠状态,所述申请线程包括所述程序中申请占用所述共享资源的线程。
【技术特征摘要】
1.一种调整时间的方法,其特征在于,包括:当程序中的目标线程占用共享资源时,检测所述目标线程对应的占用时间;依据所述占用时间,调整自旋时间,其中,所述自旋时间用于确定申请线程是否需要进入睡眠状态,所述申请线程包括所述程序中申请占用所述共享资源的线程。2.根据权利要求1所述的方法,其特征在于,所述依据所述占用时间,调整自旋时间,包括:判断所述占用时间是否超过所述程序对应预设的自旋时间阈值;若超过,则缩短所述程序中的自旋时间;否则,延长所述程序中的自旋时间。3.根据权利要求2所述的方法,其特征在于,所述判断所述占用时间是否超过所述程序对应预设的自旋时间阈值之前,还包括:统计所述程序中切换线程对应的切换时间;根据所述切换时间,确定所述自旋时间阈值。4.根据权利要求1至3任一所述的方法,其特征在于,所述目标线程占用共享资源之前,还包括:当程序中的线程申请占用共享资源时,判断所述共享资源是否已被占用;在所述共享资源没有被占用时,将所述线程确定为所述程序中的目标线程,所述目标线程用于占用所述共享资源;在所述共享资源已被占用时,检测所述线程是否能够在所述程序当前的自旋时间内占用所述共享资源;当所述线程不能在当前的自旋时间内占用所述共享资源,所述线程进入睡眠状态。5.根据权利要求1至3任一所述的方法,其特征在于,所述当程序中的目标线程占用共享资源时,检测所述目标线程对应的占用时间,包括:在所述目标线程占用所述共享资源时,记录对应的第一时间;在所述目标线程稀放所述共享资源时,记录对应的第二时间;根据所述第一时间和所述第二时间,确定所述占用时间。6.一种调整时间的装置,其特征在于,包括:占用时间检测模块,用于当程序中的目标线程占用共享资源时,检测所述目标线程对应的占用时间;自旋时间调整模块,用于依据所述占用时间,调整自旋时间,其中,所述自旋时间用于确定申请线程是否需要进入睡眠状态,所述申请线程包括所述程序中申请占用所述共享资源的线程。7.根据权利要求6所述的装置,其特征在于,所述自旋时间调整模块,...
【专利技术属性】
技术研发人员:姜韶峰,敖琪,
申请(专利权)人:龙芯中科技术有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。