CN108509260A - 线程识别处理方法、装置、计算机设备和存储介质 - Google Patents
线程识别处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN108509260A CN108509260A CN201810099379.4A CN201810099379A CN108509260A CN 108509260 A CN108509260 A CN 108509260A CN 201810099379 A CN201810099379 A CN 201810099379A CN 108509260 A CN108509260 A CN 108509260A
- Authority
- CN
- China
- Prior art keywords
- thread
- currently running
- recorded
- file
- identification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及一种线程识别处理方法、装置、计算机设备和存储介质。所述方法包括:获取执行预定任务的第一线程;在所述第一线程执行所述预定任务时,所述第一线程在等待队列中唤醒第二线程;将唤醒后的第二线程的线程标识记录至预定任务对应的文件中;对所述文件中记录的线程标识所对应的第二线程分配处理器,运行获得处理器的第二线程。采用本方法能够准确识别影响预定任务执行的其他任务线程。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种线程识别处理方法、装置、计算机设备和存储介质。
背景技术
线程是进程内一个相对独立的、可调度的执行单元,是系统独立调度和分派处理器的基本单位。在计算机系统中,一个任务至少由一个进程执行,一个进程至少拥有一个线程,即一个任务的最小执行单元为线程,线程的执行效率将直接影响任务的执行效率,因此,对不同线程根据其执行的任务进行识别是十分必要的。
在传统的线程处理方式中,通过判断处理器上处于运行状态的线程的运算资源内是否存在预定标记,来确定线程是否为执行预定任务的线程,能够识别出执行预定任务的线程。然而,对于该类线程,可能存在与该类线程在任务上有协同合作的执行其他任务的线程,这些执行其他任务的线程同样影响预定任务的执行,采用上述技术方案却无法识别出这些线程,从而无法针对性地对其进行管理,预定任务执行效率低。如何准确识别影响预定任务执行的其他任务线程成为目前需要解决的一个技术问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够准确识别影响预定任务执行的其他任务线程的线程识别处理方法、装置、计算机设备和存储介质。
一种线程识别处理方法,所述方法包括:
获取执行预定任务的第一线程;
在所述第一线程执行所述预定任务时,所述第一线程在等待队列中唤醒第二线程;
将唤醒后的第二线程的线程标识记录至预定任务对应的文件中;
对所述文件中记录的线程标识所对应的第二线程分配处理器,运行获得处理器的第二线程。
在其中一个实施例中,所述对所述文件中记录的线程标识所对应的第二线程分配处理器的步骤包括:
对所述文件中记录的线程标识所对应的第二线程设置优先级;
根据优先级对所述文件中记录的线程标识所对应的第二线程分配处理器。
在其中一个实施例中,所述方法还包括:
当正在运行的第二线程根据预设条件进入阻塞状态时,所述正在执行的第二线程释放处理器,进入等待队列;
在所述文件中将进入等待队列的第二线程的线程标识删除。
在其中一个实施例中,所述方法还包括:
获取正在运行的第二线程所对应的存储资源信息;
利用所述存储资源信息统计所述正在运行的第二线程在预设时间内访问输入输出设备的次数;
若所述访问输入输出设备的次数大于第一阈值,则将所述正在运行的第二线程记录为第一类型线程。
在其中一个实施例中,所述方法还包括:
获取正在运行的第二线程所对应的存储资源信息;
利用所述存储资源信息统计所述正在运行的第二线程在预设时间内访问内存的次数;
若所述访问内存的次数大于第二阈值,则将所述正在运行的第二线程记录为第二类型线程。
一种线程识别处理装置,所述装置包括:
获取模块,用于获取执行预定任务的第一线程;
唤醒模块,用于在所述第一线程执行所述预定任务时,所述第一线程在等待队列中唤醒第二线程;
识别处理模块,用于将唤醒后的第二线程的线程标识记录至预定任务对应的文件中;对所述文件中记录的线程标识所对应的第二线程分配处理器,运行获得处理器的第二线程。
一种计算机设备,包括存储器、处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取执行预定任务的第一线程;
在所述第一线程执行所述预定任务时,所述第一线程在等待队列中唤醒第二线程;
将唤醒后的第二线程的线程标识记录至预定任务对应的文件中;
对所述文件中记录的线程标识所对应的第二线程分配处理器,运行获得处理器的第二线程。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取执行预定任务的第一线程;
在所述第一线程执行所述预定任务时,所述第一线程在等待队列中唤醒第二线程;
将唤醒后的第二线程的线程标识记录至预定任务对应的文件中;
对所述文件中记录的线程标识所对应的第二线程分配处理器,运行获得处理器的第二线程。
上述线程识别处理方法、装置、计算机设备和存储介质,终端通过正在处理器上执行预定任务第一线程唤醒第二线程,确定在任务上与预定任务有协同合作关系的第二线程。将第二线程的标识记录至预定任务对应的文件中,从而精确地识别出并与预定任务对应地记录下第二线程。进而针对性地对记录下的第二线程分配处理器,使得预定任务能够更有效地执行,提高终端运行效率。
附图说明
图1为一个实施例中线程识别处理方法的流程示意图;
图2为一个实施例中的线程状态图;
图3为一个实施例中的线程状态图;
图4为一个实施例中的与当前线程相关联的线程的状态示意图;
图5为一个实施例中线程识别装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种线程识别处理方法,以该方法应用于终端为例进行说明,包括以下步骤:
步骤102,获取执行预定任务的第一线程。
预定任务包括绘制画面、播出声音、响应回馈等任务。预定任务是预先通过判断正在终端的处理器上运行的线程的运算资源内是否存在预定标记来识别确定的。预定任务的个数可以是多个,因而执行预定任务的线程也可以是多个,终端获取所有预先识别的第一线程。
其中,终端的处理器可以为中央处理器(Central Processing Unit,CPU),图形处理器(Graphics Processing Unit,GPU)、视频处理单元(Video Processing Unit,VPU)等中的至少一种。CPU可以为单核CPU,也可以为多核CPU,当为多核CPU时,CPU的一个核心视为一个处理器。
每个预定任务都具有对应的预定任务标识。本实施例中,终端将预定任务标识记录至文件中。预定任务标识可以记录在同一个文件中,例如将所有预定任务均记录在同一个文件中。预定任务标识也可以分别记录在多个不同的文件中,例如按预定任务的种类,分别将同一种类的所有预定任务记录在同一个文件中,或者按单个预定任务,将一个预定任务记录在一个文件中等。记录预定任务标识的文件,可以称为线程标识文件,可以采用数据库表的形式。线程标识文件存储于终端的存储资源内,存储资源包括但不限于寄存器、高速缓存、内存和外部存储设备等。
终端根据预定任务标识将正在执行预定任务的第一线程标识写入线程标识文件中。具体地,终端可以调用第一预设函数,获取处理器上正在执行预定任务的第一线程标识,将获取的第一线程标识写入线程标识文件。其中,第一预设函数可以是gettid()函数。
线程所属的进程中,开始执行的第一个线程为主线程,一个主线程可以创建多个子线程,主线程可以控制子线程的执行,如果执行预定任务的第一线程是某一个进程中的子线程,那么,这个进程的主线程会影响第一线程的执行,从而影响预定任务的执行,因此可以将第一线程所属进程的主线程记录下来,以进一步地针对性管理。
进一步地,终端根据第一线程标识获取第一线程所属的进程标识,根据进程标识获取进程的主线程标识,将该主线程标识写入线程标识文件中。
步骤104,在第一线程执行预定任务时,第一线程在等待队列中唤醒第二线程。
线程包括多个状态,新建状态、就绪状态、运行状态、阻塞状态以及死亡状态。如图2所示,线程从创建、运行到结束总是处于其中一个状态。
线程运行过程中,可能由于各种原因进入阻塞状态,处于阻塞状态的线程没有运行结束,会暂时让出处理器,进入等待队列。处于阻塞状态的线程并不自动开始运行,可以通过唤醒使其恢复运行。
一个线程可以唤醒与其同属一个进程内的其他线程,也可以跨进程唤醒其他线程。例如图3所示,线程A为当前正在执行预定任务的第一线程,线程B为线程A唤醒的第二线程,线程A与线程B可以是同一个进程内的两个线程,也可以是不同进程内的两个线程。当线程A与线程B为不同进程内的两个线程时,线程A所属的进程与线程B所属的进程可以是执行不同任务的进程。
在实际应用场景中,预定任务可能与其他任务存在协同合作关系,例如预定任务在执行过程中,在一些特定时刻,需要获取其他任务的执行结果,以继续执行,由于这些其他任务会影响预定任务的执行,因此,识别出与第一线程在任务上存在协同合作的其他任务线程是十分必要的。这些其他任务线程可以与第一线程同属一个进程,也可以与第一线程分属不同的进程,本实施例中,藉由唤醒机制来确定其他任务线程。
第一线程在等待队列中通知第二线程获得对象锁,唤醒第二线程。对象锁是独占排他锁,由于线程的执行需要访问终端的一些共用资源,例如共用设备或是共用存储器,线程只有进入临界区段才能获得唯一访问共用资源的权利,其中,临界区指的是一个访问共用资源的程序片段,具有共用资源无法同时被多个线程访问的特性,对象锁是指为临界区指定的对象进行加锁,线程只有获得对象锁,才能获得临界区的控制权。
具体地,终端可以调用第二预设函数来通知第二线程获得对象锁。其中,第二预设函数可以是notify()函数,还可以是notifyAll()函数。第二线程唤醒后,进入就绪队列,等待处理器时间。
步骤106,将唤醒后的第二线程的线程标识记录至预定任务对应的文件中。
终端将第二线程的线程标识记录至唤醒该第一线程标识所在的线程标识文件中。进一步地,终端将第二线程的线程标识与唤醒该第二线程的第一线程标识对应的记录至预定任务对应的线程标识文件中,一个第二线程标识对应唯一一个第一线程标识,由于一个第一线程可唤醒多个第二线程,因此在线程标识文件中,一个第一线程标识可以仅对应一个第二线程标识,也可以是对应一个以上的多个第二线程标识。
步骤108,对文件中记录的线程标识所对应的第二线程分配处理器,运行获得处理器的第二线程。
在任意时刻,一个处理器只能执行一条机器指令,即只能执行一个线程,每个线程只有获得处理器的使用权才能执行任务。由于一个终端所拥有的处理器有限,当处于就绪状态的线程数目大于处理器数目时,处于就绪状态的线程之间还必须竞争处理器。
处于就绪状态的线程是由终端的线程调度器(Thread Scheduler)来调度的,线程调度器根据一定的规则动态的调度就绪队列中的线程,给各线程分配处理器。
终端查找文件中记录的第二线程标识,线程调度器对查找到的第二线程标识对应的第二线程针对性地分配处理器,第二线程获得处理器后,进入运行状态,开始执行run()方法。
第二线程在执行过程中,也可以唤醒新的线程。例如图4所示,线程B为当前正在执行的第二线程,线程A是唤醒线程B的执行预定任务的第一线程,线程C为线程B唤醒的线程,线程C也将对线程B执行的任务产生影响,从而间接影响预定任务的执行,因此还可以进一步识别出线程C,同理,线程C唤醒的线程也可以进一步识别出,也即可以识别出对预定任务线程有影响的所有后继线程。
本实施例中,将线程标识文件中记录的线程标识对应的线程称为目标线程,可以理解,目标线程包括第一线程和第二线程。
进一步地,终端查找线程标识文件中记录的线程标识,根据该线程标识检测出正在处理器上运行的目标线程,判断目标线程是否唤醒了新的线程,如果目标线程唤醒了新的线程,则将被目标线程唤醒的线程的标识记录至线程标识文件中。
本实施例中,终端通过正在处理器上执行预定任务第一线程唤醒第二线程,确定在任务上与预定任务有协同合作关系的第二线程。将第二线程的标识记录至预定任务对应的文件中,从而精确地识别出并与预定任务对应地记录下第二线程。进而针对性地对记录下的第二线程分配处理器,使得预定任务能够更有效地执行,提高终端运行效率。
在一个实施例中,对文件中记录的线程标识所对应的第二线程分配处理器的步骤包括:对文件中记录的线程标识所对应的第二线程设置优先级;根据优先级对文件中记录的线程标识所对应的第二线程分配处理器。
多个线程在就绪队列竞争处理器时,线程的优先级会影响线程调度器选择线程的结果。高优先级的线程比低优先级的线程有更高的几率得到执行,更高的几率占用效能高的处理器,得到更多的处理器时间片等。
当线程的优先级没有指定设置时,所有线程都携带普通优先级。在本实施例中,优先级分为1、2、3三个等级,其中1表示最高优先级,2次之,3表示最低优先级。在线程的就绪队列中,执行预定任务的所有第一线程始终被设置为最高优先级,即优先级始终为1,将线程标识文件中记录的所有第二线程标识所对应的所有第二线程的优先级设置为2,除第一线程和第二线程以外的其他线程的优先级设置为3。线程调度器根据优先级对线程标识文件中记录的线程标识所对应的第二线程分配处理器。
本实施例的线程识别处理方法,终端通过对第二线程设置较高的优先级,使其能够比除第一线程和第二线程以外的其他线程更高几率地得到执行,更高几率占用效能高的处理器,以及得到更多的处理器时间片等,保障了第二线程的执行效率,从而使得预定任务能够更高效地执行,提高终端运行效率。
在一个实施例中,线程识别处理方法还包括:当正在运行的第二线程根据预设条件进入阻塞状态时,正在运行的第二线程释放处理器,进入等待队列;在线程标识文件中将进入等待队列的第二线程的线程标识删除。
本实施例中,预设条件可以但不限于是:线程通过调用sleep()方法进入睡眠状态;线程调用一个在I/O上被阻塞的操作,即该操作在输入输出操作完成之前不会返回到它的调用者;线程试图得到一个锁,而该锁正被其他线程持有;线程在等待某个触发条件。
第二线程正在处理器上运行时,当预设条件被触发,第二线程将进入阻塞状态,此时第二线程立即释放其占用的处理器,进入等待队列,等待被再次唤醒。可以理解,当预设条件未被触发时,第二线程保持运行状态。
第二线程再次被唤醒时,有可能是由非第一线程和非第二线程唤醒的,此时,该再次被唤醒的第二线程执行的任务将不再是与预定任务存在协同合作关系的任务,而终端是通过查找线程标识文件中记录的线程标识对相应的线程分配优先级,因此需要将由非第一线程再次被唤醒的第二线程的标识在线程标识文件中删除。
终端检测正在处理器上运行的第二线程的状态,当该第二进程进入阻塞状态时,终端将进入阻塞状态的第二线程的标识从线程标识文件中删除。在一些应用场景下,如在多处理器的终端中,同一时刻正在运行的第二线程可以为多个,此种情况下,终端将检测多个正在运行的第二线程的状态。
当该第二线程再次被唤醒时,终端判断其是否由线程标识文件中记录的线程标识对应的线程所唤醒,如果是,则再次将该第二线程的标识写入线程标识文件中,如果否,则不将该第二线程的标识写入线程标识文件中。
其中,线程标识文件中记录的线程标识包括第一线程标识和其他第二线程标识,对应的线程包括第一线程和其他第二线程,可以理解,如果唤醒该再次被唤醒的第二线程的线程是第一线程,则将该再次被唤醒的第二线程的标识写入线程标识文件中,如果唤醒该再次被唤醒的第二线程的线程是线程标识文件中记录的其他第二线程,也将该再次被唤醒的第二线程的标识写入线程标识文件中。
终端动态地查找线程标识文件中记录的线程标识以设置优先级。本实施例中,文件中记录的第一线程标识始终保留,即无论第一线程处于何种状态,文件中的第一线程的标识始终不被删除。
通过本实施例的线程识别处理方法,终端通过在第二线程进入阻塞状态时,在线程标识文件中删除其标识,使得线程标识文件中将始终记录的是执行预定任务的第一线程以及在任务上与预定任务有协同合作的第二线程,终端动态的对线程标识文件中记录的线程设置优先级,保障了终端运行的任意时刻中预定任务的运行效率,从而保障了终端的运行效率。
在一个实施例中,线程识别处理方法还包括:获取正在运行的第二线程所对应的存储资源信息;利用存储资源信息统计正在运行的第二线程在预设时间内访问输入输出设备的次数;若访问输入输出设备的次数大于第一阈值,则将正在运行的第二线程记录为第一类型线程。
线程执行的任务存在输入输出(Input/Output,I/O)密集型任务。涉及到网络、磁盘I/O的任务都是I/O密集型任务,这类任务的特点是处理器消耗很少,因为I/O的速度远远低于处理器和内存的速度,任务的大部分时间都在等待I/O操作完成。对于这类任务线程,有必要将其识别出来以便进一步地针对性管理,以提高终端运行速率。
线程处于运行状态时,线程运行所需要的原始数据来自内存。在线程运行过程中,有些数据可能被频繁读取,这些数据将被存储在寄存器和高速缓存中。当线程运行结束,这些缓存的数据在适当的时候应该写回内存。处于运行状态的线程使用的存储资源可以包括寄存器、高速缓存、内存和外部存储设备等。存储资源的信息可包括线程所使用的存储资源的地址空间。
终端可以根据线程标识文件中记录的第二线程标识访问第二线程的存储资源,获取正在运行的第二线程所使用的存储资源的信息。
第二线程的存储资源信息包含有第二线程运行时的运算数据,包括每一次访问I/O设备的数据,具体包括每一次访问I/O设备时I/O设备的地址信息,以及每一次访问I/O设备的访问时间。终端通过访问第二线程的存储资源,截取存储资源信息记录的某一个或多个线程持续执行的时间段,即预设时间,统计在此预设时间内存储资源信息中包含的I/O设备的地址信息的数目,该数目即为第二线程在预设时间内运行时,访问I/O设备的次数。其中,I/O设备的地址信息的种类可以为一种或多种。预设时间仅包括第二线程持续运行的时间段。
本实施例中,终端将统计的正在运行的第二线程访问I/O设备的次数,与第一阈值进行比较,当访问I/O设备的次数大于第一阈值时,在线程标识文件中增添第一类型线程,并将该正在运行的第二线程标识与之对应记录。其中,第一阈值为一预设的大于0的常量,本领域技术人员可根据具体的终端标准对其取值。第一类型线程即为执行I/O密集型任务的线程。
在多处理器的终端中,同时正在运行的第二线程可能为多个,此时,终端将访问所有正在运行的第二线程的存储资源,分别获取正在运行的第二线程所对应的存储资源信息,并统计各个正在运行的第二线程在预设时间内访问输入输出设备的次数,分别与第一阈值进行比较,识别记录下所有正在运行的第二线程中的第一类型线程。
通过本实施例的线程识别处理方法,终端统计正在运行的第二线程在预设时间内访问I/O设备的次数,与第一阈值进行比较,进一步识别出并记录下第二线程中的I/O密集型任务线程,以进一步针对性的管理第二线程,进一步提高了第二线程的运行效率,从而提高了预定任务的执行效率。
在一个实施例中,线程识别处理方法还包括:获取正在运行的第二线程所对应的存储资源信息;利用存储资源信息统计正在运行的第二线程在预设时间内访问内存的次数;若访问内存的次数大于第二阈值,则将正在运行的第二线程记录为第二类型线程。
线程执行的任务还存在计算密集型任务。计算密集型任务的特点是要进行大量的计算,消耗处理器,例如计算圆周率、对视频进行高清解码等等。对于执行计算密集型任务的线程,其运行效率十分依赖于获得处理器的概率,因此,识别出计算密集型任务以对其进一步针对性管理有利于提高终端的运行速率。
当线程对处理器发出指令请求运算时,这些指令和数据暂存在内存里,在处理器空闲时传送给处理器,即线程每一次对处理器发出指令时,都会访问内存以暂存指令和相关数据。因此,统计线程在一定时间内访问内存的次数即可获得线程在一定时间内请求处理器的次数,从而判断其是否为执行计算密集型任务的线程。
本实施例中,终端根据文件中记录的第二线程标识访问第二线程的存储资源,获取正在运行的第二线程所使用的存储资源的信息。
第二线程的存储资源信息包括第二线程运行时的运算数据,运算数据包括每一次访问内存操作的数据,具体包括每一次访问内存时内存的地址信息,内存中每一条内存的地址信息均对应有一个访问时间。终端通过访问第二线程的存储资源,截取存储资源信息记录的某一个或多个线程持续执行的时间段,即预设时间,统计在此预设时间内存储资源信息中包含的内存的地址信息的数目,该数目即为第二线程在运行预设时间内访问内存的次数。其中,内存的地址信息的种类可以为一种或多种。
终端将统计的正在运行的第二线程访问内存的次数,与第二阈值进行比较,当访问内存的次数大于第二阈值时,在线程标识文件中增添第二类型线程,并将该正在运行的第二线程标识与之对应记录。其中,第二阈值为一预设的大于0的常量,本领域技术人员可根据具体的终端标准对其取值。第二类型线程即为执行计算密集型任务的线程。
在多处理器的终端中,同时正在运行的第二线程可能为多个,此时,终端将访问所有正在运行的第二线程的存储资源,分别获取正在运行的第二线程所对应的存储资源信息,并分别统计各个正在运行的第二线程在预设时间内访问内存的次数,分别与第二阈值进行比较,识别记录下所有正在运行的第二线程中的第二类型线程。
通过本实施例的线程识别处理方法,终端统计正在运行的第二线程在预设时间内访问内存的次数,与第二阈值进行比较,进一步识别记录出第二线程中的计算密集型任务线程,以进一步针对性的管理第二线程,进一步提高了第二线程的运行效率,从而提高了预定任务的执行效率和终端运行速率。
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种线程识别处理装置,包括:获取模块510、唤醒模块520和识别处理模块530,其中:
获取模块510,用于获取执行预定任务的第一线程。
唤醒模块520,用于在第一线程执行预定任务时,第一线程在等待队列中唤醒第二线程。
识别处理模块530,用于将唤醒后的第二线程的线程标识记录至预定任务对应的文件中;对文件中记录的线程标识所对应的第二线程分配处理器,运行获得处理器的第二线程。
在一个实施例中,识别处理模块530还用于:当正在运行的第二线程根据预设条件进入阻塞状态时,正在执行的第二线程释放处理器,进入等待队列;在文件中将进入等待队列的第二线程的线程标识删除。
在一个实施例中,线程识别处理装置还包括分类模块,用于获取正在运行的第二线程所对应的存储资源信息;利用存储资源信息统计正在运行的第二线程在预设时间内访问输入输出设备的次数;利用存储资源信息统计正在运行的第二线程在预设时间内访问内存的次数;若访问输入输出设备的次数大于第一阈值,则将正在运行的第二线程记录为第一类型线程;若访问内存的次数大于第二阈值,则将正在运行的第二线程记录为第二类型线程。
关于线程识别处理装置的具体限定可以参见上文中对于线程识别处理方法的限定,在此不再赘述。上述线程识别处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种线程识别处理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取执行预定任务的第一线程;在第一线程执行预定任务时,第一线程在等待队列中唤醒第二线程;将唤醒后的第二线程的线程标识记录至预定任务对应的文件中;对文件中记录的线程标识所对应的第二线程分配处理器,运行获得处理器的第二线程。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对文件中记录的线程标识所对应的第二线程设置优先级;根据优先级对文件中记录的线程标识所对应的第二线程分配处理器。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当正在运行的第二线程根据预设条件进入阻塞状态时,正在执行的第二线程释放处理器,进入等待队列;在文件中将进入等待队列的第二线程的线程标识删除。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取正在运行的第二线程所对应的存储资源信息;利用存储资源信息统计正在运行的第二线程在预设时间内访问输入输出设备的次数;若访问输入输出设备的次数大于第一阈值,则将正在运行的第二线程记录为第一类型线程。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取正在运行的第二线程所对应的存储资源信息;利用存储资源信息统计正在运行的第二线程在预设时间内访问内存的次数;若访问内存的次数大于第二阈值,则将正在运行的第二线程记录为第二类型线程。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取执行预定任务的第一线程;在第一线程执行预定任务时,第一线程在等待队列中唤醒第二线程;将唤醒后的第二线程的线程标识记录至预定任务对应的文件中;对文件中记录的线程标识所对应的第二线程分配处理器,运行获得处理器的第二线程。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对文件中记录的线程标识所对应的第二线程设置优先级;根据优先级对文件中记录的线程标识所对应的第二线程分配处理器。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当正在运行的第二线程根据预设条件进入阻塞状态时,正在执行的第二线程释放处理器,进入等待队列;在文件中将进入等待队列的第二线程的线程标识删除。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取正在运行的第二线程所对应的存储资源信息;利用存储资源信息统计正在运行的第二线程在预设时间内访问输入输出设备的次数;若访问输入输出设备的次数大于第一阈值,则将正在运行的第二线程记录为第一类型线程。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取正在运行的第二线程所对应的存储资源信息;利用存储资源信息统计正在运行的第二线程在预设时间内访问内存的次数;若访问内存的次数大于第二阈值,则将正在运行的第二线程记录为第二类型线程。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种线程识别处理方法,其特征在于,包括以下步骤:
获取执行预定任务的第一线程;
在所述第一线程执行所述预定任务时,所述第一线程在等待队列中唤醒第二线程;
将唤醒后的第二线程的线程标识记录至预定任务对应的文件中;
对所述文件中记录的线程标识所对应的第二线程分配处理器,运行获得处理器的第二线程。
2.根据权利要求1所述的方法,其特征在于,所述对所述文件中记录的线程标识所对应的第二线程分配处理器的步骤包括:
对所述文件中记录的线程标识所对应的第二线程设置优先级;
根据优先级对所述文件中记录的线程标识所对应的第二线程分配处理器。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当正在运行的第二线程根据预设条件进入阻塞状态时,所述正在执行的第二线程释放处理器,进入等待队列;
在所述文件中将进入等待队列的第二线程的线程标识删除。
4.根据权利1所述的方法,其特征在于,所述方法还包括:
获取正在运行的第二线程所对应的存储资源信息;
利用所述存储资源信息统计所述正在运行的第二线程在预设时间内访问输入输出设备的次数;
若所述访问输入输出设备的次数大于第一阈值,则将所述正在运行的第二线程记录为第一类型线程。
5.根据权利1所述的方法,其特征在于,所述方法还包括:
获取正在运行的第二线程所对应的存储资源信息;
利用所述存储资源信息统计所述正在运行的第二线程在预设时间内访问内存的次数;
若所述访问内存的次数大于第二阈值,则将所述正在运行的第二线程记录为第二类型线程。
6.一种线程识别处理装置,其特征在于,所述装置包括:
获取模块,用于获取执行预定任务的第一线程;
唤醒模块,用于在所述第一线程执行所述预定任务时,所述第一线程在等待队列中唤醒第二线程
识别处理模块,用于将唤醒后的第二线程的线程标识记录至预定任务对应的文件中;对所述文件中记录的线程标识所对应的第二线程分配处理器,运行获得处理器的第二线程。
7.如权利要求6所述的线程识别处理装置,其特征在于,所述识别处理模块还用于:当正在运行的第二线程根据预设条件进入阻塞状态时,所述正在执行的第二线程释放处理器,进入等待队列;在所述文件中将进入等待队列的第二线程的线程标识删除。
8.如权利要求6所述的线程识别处理装置,其特征在于,还包括:
分类模块,用于获取正在运行的第二线程所对应的存储资源信息;利用所述存储资源信息统计所述正在运行的第二线程在预设时间内访问输入输出设备的次数;利用所述存储资源信息统计所述正在运行的第二线程在预设时间内访问内存的次数;若所述访问输入输出设备的次数大于第一阈值,则将所述正在运行的第二线程记录为第一类型线程;若所述访问内存的次数大于第二阈值,则将所述正在运行的第二线程记录为第二类型线程。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810099379.4A CN108509260B (zh) | 2018-01-31 | 2018-01-31 | 线程识别处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810099379.4A CN108509260B (zh) | 2018-01-31 | 2018-01-31 | 线程识别处理方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108509260A true CN108509260A (zh) | 2018-09-07 |
CN108509260B CN108509260B (zh) | 2021-08-13 |
Family
ID=63375437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810099379.4A Active CN108509260B (zh) | 2018-01-31 | 2018-01-31 | 线程识别处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108509260B (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109656983A (zh) * | 2018-12-14 | 2019-04-19 | 北京向上心科技有限公司 | 信息提示方法、信息提示装置、服务器及可读存储介质 |
CN109918141A (zh) * | 2019-03-15 | 2019-06-21 | Oppo广东移动通信有限公司 | 线程执行方法、装置、终端及存储介质 |
CN110096378A (zh) * | 2019-04-29 | 2019-08-06 | 杭州涂鸦信息技术有限公司 | 一种线程间通信方法及相关装置 |
CN111414337A (zh) * | 2019-01-08 | 2020-07-14 | 阿里巴巴集团控股有限公司 | 一种文件读取方法、装置、计算设备及存储介质 |
CN111435356A (zh) * | 2019-01-15 | 2020-07-21 | 杭州海康威视数字技术股份有限公司 | 数据特征提取方法、装置、计算机设备以及存储介质 |
CN111506582A (zh) * | 2019-01-30 | 2020-08-07 | 普天信息技术有限公司 | 一种数据存储方法和装置 |
CN111880915A (zh) * | 2020-07-24 | 2020-11-03 | 北京浪潮数据技术有限公司 | 一种线程任务的处理方法、装置、设备及存储介质 |
CN111913809A (zh) * | 2020-07-28 | 2020-11-10 | 北京百度网讯科技有限公司 | 多线程场景下的任务执行方法、装置、设备和存储介质 |
CN112015525A (zh) * | 2019-05-29 | 2020-12-01 | 上海哔哩哔哩科技有限公司 | 任务进程阻塞管理方法 |
CN112052077A (zh) * | 2019-06-06 | 2020-12-08 | 北京字节跳动网络技术有限公司 | 软件任务管理的方法、装置、设备、介质 |
CN112269719A (zh) * | 2020-09-16 | 2021-01-26 | 苏州浪潮智能科技有限公司 | 基于ai训练平台的文件操作队列控制方法、装置及介质 |
CN113051047A (zh) * | 2021-03-03 | 2021-06-29 | 惠州Tcl移动通信有限公司 | 识别安卓系统绘制线程的方法、装置、移动终端及存储介质 |
WO2022001723A1 (zh) * | 2020-06-30 | 2022-01-06 | 华为技术有限公司 | 一种数据同步方法及装置 |
CN114237739A (zh) * | 2021-12-08 | 2022-03-25 | 广州讯飞易听说网络科技有限公司 | 应用程序的图像加载方法、计算机设备及存储介质 |
WO2022095862A1 (zh) * | 2020-11-09 | 2022-05-12 | 中兴通讯股份有限公司 | 调整线程优先级的方法、终端及计算机可读存储介质 |
TWI776263B (zh) * | 2019-11-04 | 2022-09-01 | 羅習五 | 應用資料標籤在多計算單元平台上的資料共用方法 |
CN116401990A (zh) * | 2023-01-30 | 2023-07-07 | 芯华章科技(北京)有限公司 | 处理中断事件的方法、装置、系统和存储介质 |
CN116700818A (zh) * | 2022-12-05 | 2023-09-05 | 荣耀终端有限公司 | 应用程序运行的方法及电子设备 |
WO2023193527A1 (zh) * | 2022-04-07 | 2023-10-12 | 深圳Tcl新技术有限公司 | 线程执行方法、装置、电子设备及计算机可读存储介质 |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1959644A (zh) * | 2005-10-27 | 2007-05-09 | 国际商业机器公司 | 在数据处理系统中仲裁线程访问共享资源的系统和方法 |
CN1983193A (zh) * | 2005-12-12 | 2007-06-20 | 国际商业机器公司 | 用于信息处理的系统和方法 |
CN101908000A (zh) * | 2010-07-08 | 2010-12-08 | 北京航空航天大学 | 一种硬件型事务存储系统中事务线程的阻塞唤醒方法 |
CN102341780A (zh) * | 2009-03-17 | 2012-02-01 | 高通股份有限公司 | 实时多线程调度器及调度方法 |
CN102360310A (zh) * | 2011-09-28 | 2012-02-22 | 中国电子科技集团公司第二十八研究所 | 一种分布式系统环境下的多任务进程监视方法和监视系统 |
CN102377799A (zh) * | 2010-08-11 | 2012-03-14 | 腾讯科技(深圳)有限公司 | 手机浏览器服务器端及其实现浏览器双线程模式的方法 |
CN103677997A (zh) * | 2012-09-21 | 2014-03-26 | 宏达国际电子股份有限公司 | 多核心装置以及其多线程调度方法 |
CN105339897A (zh) * | 2013-05-31 | 2016-02-17 | 微软技术许可有限责任公司 | 高效的优先级感知线程调度 |
US20160154678A1 (en) * | 2014-11-28 | 2016-06-02 | Canon Kabushiki Kaisha | Reverting tightly coupled threads in an over-scheduled system |
CN105912394A (zh) * | 2016-04-25 | 2016-08-31 | 深圳市万普拉斯科技有限公司 | 线程处理方法和系统 |
GB2536211A (en) * | 2015-03-04 | 2016-09-14 | Advanced Risc Mach Ltd | An apparatus and method for executing a plurality of threads |
CN106547612A (zh) * | 2016-10-18 | 2017-03-29 | 深圳怡化电脑股份有限公司 | 一种多任务处理方法及装置 |
CN107015850A (zh) * | 2016-01-28 | 2017-08-04 | 博雅网络游戏开发(深圳)有限公司 | 线程调度方法和装置 |
CN107305507A (zh) * | 2016-04-25 | 2017-10-31 | 北京京东尚科信息技术有限公司 | 死锁控制方法和装置 |
CN107368362A (zh) * | 2017-06-29 | 2017-11-21 | 上海阅文信息技术有限公司 | 一种对于磁盘读写数据的多线程/多进程无锁处理方法及系统 |
WO2017203319A1 (en) * | 2016-05-23 | 2017-11-30 | Pratik Sharma | Weighted job scheduler |
CN107562540A (zh) * | 2017-09-05 | 2018-01-09 | 武汉斗鱼网络科技有限公司 | 向ui线程投递回调函数的方法、装置及客户端 |
-
2018
- 2018-01-31 CN CN201810099379.4A patent/CN108509260B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1959644A (zh) * | 2005-10-27 | 2007-05-09 | 国际商业机器公司 | 在数据处理系统中仲裁线程访问共享资源的系统和方法 |
CN1983193A (zh) * | 2005-12-12 | 2007-06-20 | 国际商业机器公司 | 用于信息处理的系统和方法 |
CN102341780A (zh) * | 2009-03-17 | 2012-02-01 | 高通股份有限公司 | 实时多线程调度器及调度方法 |
CN101908000A (zh) * | 2010-07-08 | 2010-12-08 | 北京航空航天大学 | 一种硬件型事务存储系统中事务线程的阻塞唤醒方法 |
CN102377799A (zh) * | 2010-08-11 | 2012-03-14 | 腾讯科技(深圳)有限公司 | 手机浏览器服务器端及其实现浏览器双线程模式的方法 |
CN102360310A (zh) * | 2011-09-28 | 2012-02-22 | 中国电子科技集团公司第二十八研究所 | 一种分布式系统环境下的多任务进程监视方法和监视系统 |
CN103677997A (zh) * | 2012-09-21 | 2014-03-26 | 宏达国际电子股份有限公司 | 多核心装置以及其多线程调度方法 |
CN105339897A (zh) * | 2013-05-31 | 2016-02-17 | 微软技术许可有限责任公司 | 高效的优先级感知线程调度 |
US20160154678A1 (en) * | 2014-11-28 | 2016-06-02 | Canon Kabushiki Kaisha | Reverting tightly coupled threads in an over-scheduled system |
GB2536211A (en) * | 2015-03-04 | 2016-09-14 | Advanced Risc Mach Ltd | An apparatus and method for executing a plurality of threads |
CN107015850A (zh) * | 2016-01-28 | 2017-08-04 | 博雅网络游戏开发(深圳)有限公司 | 线程调度方法和装置 |
CN105912394A (zh) * | 2016-04-25 | 2016-08-31 | 深圳市万普拉斯科技有限公司 | 线程处理方法和系统 |
CN107305507A (zh) * | 2016-04-25 | 2017-10-31 | 北京京东尚科信息技术有限公司 | 死锁控制方法和装置 |
WO2017203319A1 (en) * | 2016-05-23 | 2017-11-30 | Pratik Sharma | Weighted job scheduler |
CN106547612A (zh) * | 2016-10-18 | 2017-03-29 | 深圳怡化电脑股份有限公司 | 一种多任务处理方法及装置 |
CN107368362A (zh) * | 2017-06-29 | 2017-11-21 | 上海阅文信息技术有限公司 | 一种对于磁盘读写数据的多线程/多进程无锁处理方法及系统 |
CN107562540A (zh) * | 2017-09-05 | 2018-01-09 | 武汉斗鱼网络科技有限公司 | 向ui线程投递回调函数的方法、装置及客户端 |
Non-Patent Citations (2)
Title |
---|
应欢: "适用于商用系统环境的低开销确定性重放技术", 《吉林大学学报(工学版)》 * |
纪晓阳: "线程在Android开发中的应用", 《软件》 * |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109656983A (zh) * | 2018-12-14 | 2019-04-19 | 北京向上心科技有限公司 | 信息提示方法、信息提示装置、服务器及可读存储介质 |
CN111414337A (zh) * | 2019-01-08 | 2020-07-14 | 阿里巴巴集团控股有限公司 | 一种文件读取方法、装置、计算设备及存储介质 |
CN111414337B (zh) * | 2019-01-08 | 2023-05-26 | 阿里巴巴集团控股有限公司 | 一种文件读取方法、装置、计算设备及存储介质 |
CN111435356A (zh) * | 2019-01-15 | 2020-07-21 | 杭州海康威视数字技术股份有限公司 | 数据特征提取方法、装置、计算机设备以及存储介质 |
CN111506582A (zh) * | 2019-01-30 | 2020-08-07 | 普天信息技术有限公司 | 一种数据存储方法和装置 |
CN109918141A (zh) * | 2019-03-15 | 2019-06-21 | Oppo广东移动通信有限公司 | 线程执行方法、装置、终端及存储介质 |
CN110096378A (zh) * | 2019-04-29 | 2019-08-06 | 杭州涂鸦信息技术有限公司 | 一种线程间通信方法及相关装置 |
CN112015525A (zh) * | 2019-05-29 | 2020-12-01 | 上海哔哩哔哩科技有限公司 | 任务进程阻塞管理方法 |
CN112052077A (zh) * | 2019-06-06 | 2020-12-08 | 北京字节跳动网络技术有限公司 | 软件任务管理的方法、装置、设备、介质 |
TWI776263B (zh) * | 2019-11-04 | 2022-09-01 | 羅習五 | 應用資料標籤在多計算單元平台上的資料共用方法 |
WO2022001723A1 (zh) * | 2020-06-30 | 2022-01-06 | 华为技术有限公司 | 一种数据同步方法及装置 |
CN111880915A (zh) * | 2020-07-24 | 2020-11-03 | 北京浪潮数据技术有限公司 | 一种线程任务的处理方法、装置、设备及存储介质 |
CN111880915B (zh) * | 2020-07-24 | 2023-07-21 | 北京浪潮数据技术有限公司 | 一种线程任务的处理方法、装置、设备及存储介质 |
CN111913809A (zh) * | 2020-07-28 | 2020-11-10 | 北京百度网讯科技有限公司 | 多线程场景下的任务执行方法、装置、设备和存储介质 |
CN111913809B (zh) * | 2020-07-28 | 2024-03-19 | 阿波罗智能技术(北京)有限公司 | 多线程场景下的任务执行方法、装置、设备和存储介质 |
CN112269719A (zh) * | 2020-09-16 | 2021-01-26 | 苏州浪潮智能科技有限公司 | 基于ai训练平台的文件操作队列控制方法、装置及介质 |
CN112269719B (zh) * | 2020-09-16 | 2022-12-02 | 苏州浪潮智能科技有限公司 | 基于ai训练平台的文件操作队列控制方法、装置及介质 |
WO2022095862A1 (zh) * | 2020-11-09 | 2022-05-12 | 中兴通讯股份有限公司 | 调整线程优先级的方法、终端及计算机可读存储介质 |
CN113051047A (zh) * | 2021-03-03 | 2021-06-29 | 惠州Tcl移动通信有限公司 | 识别安卓系统绘制线程的方法、装置、移动终端及存储介质 |
CN114237739A (zh) * | 2021-12-08 | 2022-03-25 | 广州讯飞易听说网络科技有限公司 | 应用程序的图像加载方法、计算机设备及存储介质 |
CN114237739B (zh) * | 2021-12-08 | 2024-02-02 | 广州讯飞易听说网络科技有限公司 | 应用程序的图像加载方法、计算机设备及存储介质 |
WO2023193527A1 (zh) * | 2022-04-07 | 2023-10-12 | 深圳Tcl新技术有限公司 | 线程执行方法、装置、电子设备及计算机可读存储介质 |
CN116700818A (zh) * | 2022-12-05 | 2023-09-05 | 荣耀终端有限公司 | 应用程序运行的方法及电子设备 |
CN116700818B (zh) * | 2022-12-05 | 2024-04-12 | 荣耀终端有限公司 | 应用程序运行的方法及电子设备 |
CN116401990B (zh) * | 2023-01-30 | 2023-10-20 | 芯华章科技(北京)有限公司 | 处理中断事件的方法、装置、系统和存储介质 |
CN116401990A (zh) * | 2023-01-30 | 2023-07-07 | 芯华章科技(北京)有限公司 | 处理中断事件的方法、装置、系统和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108509260B (zh) | 2021-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108509260A (zh) | 线程识别处理方法、装置、计算机设备和存储介质 | |
RU2348067C2 (ru) | Способы и устройства для упреждающего управления памятью | |
US8959515B2 (en) | Task scheduling policy for limited memory systems | |
US10698832B2 (en) | Method of using memory allocation to address hot and cold data | |
US9058212B2 (en) | Combining memory pages having identical content | |
CN108549574B (zh) | 线程调度管理方法、装置、计算机设备和存储介质 | |
US20080010414A1 (en) | Method and apparatus for dynamic priority-based cache replacement | |
CN105612485A (zh) | 一种运行应用程序的方法及装置 | |
CN111831441A (zh) | 内存回收方法、装置、存储介质及电子设备 | |
CN111831440A (zh) | 内存回收方法、装置、存储介质及电子设备 | |
US7761873B2 (en) | User-space resource management | |
CN111416825A (zh) | 线程间无锁日志管理方法和系统、终端、存储介质 | |
CN111831434A (zh) | 资源分配方法、装置、存储介质及电子设备 | |
CN111813520A (zh) | 线程调度方法、装置、存储介质及电子设备 | |
CN111831433A (zh) | 资源分配方法、装置、存储介质及电子设备 | |
US20140082624A1 (en) | Execution control method and multi-processor system | |
US9582340B2 (en) | File lock | |
CN111831432B (zh) | Io请求的调度方法、装置、存储介质及电子设备 | |
CN111831439A (zh) | Io请求的处理方法、装置、存储介质及电子设备 | |
CN111831436A (zh) | Io请求的调度方法、装置、存储介质及电子设备 | |
CN111831443A (zh) | 处理器状态调整方法、装置、存储介质及电子设备 | |
CN101847128A (zh) | 管理tlb的方法和装置 | |
Li et al. | Ice: Collaborating memory and process management for user experience on resource-limited mobile devices | |
CN111831412B (zh) | 中断处理方法、装置、存储介质及电子设备 | |
CN114691399A (zh) | 应用程序卡顿数据获取方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |