本发明涉及软件,特别是涉及一种线程管理方法及装置。
背景技术:
1、线程是程序被调度进行运算的最小单位,线程池是一种线程的使用模式,是日常开发中经常使用到的组件,它利用了池化的思想,内部维护着多个线程,在被分配可并发执行的任务之后,可以调度内部的线程对任务进行处理。
2、但当前在使用线程池时,往往缺少一些对线程进行细粒度管理的能力。为此需要提供一种线程管理方法。
技术实现思路
1、本发明实施例的目的在于提供一种线程管理方法及装置,以对线程池中的线程进行管理。具体技术方案如下:
2、在本发明实施例的第一方面,首先提供了一种线程管理方法,应用于电子设备,所述电子设备中配置有线程池、线程池插件、继承于所述线程池插件的用于对所述线程池中的线程进行管理的管理接口、继承于所述线程池的扩展线程池,所述扩展线程池中重写有继承于所述管理接口的线程管理函数;
3、所述方法包括:
4、在运行应用程序执行任务的过程中,调用所述扩展线程池,通过所述扩展线程池中的线程对任务进行处理;
5、调用所述线程管理函数,对线程处理任务的过程进行管理。
6、本发明的一个实施例中,所述电子设备还配置有用于对所述线程池插件进行管理的插件管理器,所述扩展线程池中包含所述插件管理器的对象,所述调用所述线程管理函数,对所述线程处理任务的过程进行管理,包括:
7、通过所述插件管理器的对象查询当前的管理需求对应的线程管理函数,调用查询到的线程管理函数,对所述线程处理任务的过程进行管理。
8、本发明的一个实施例中,所述插件管理器还用于实现以下功能中的至少一种:注册线程池插件、取消线程池插件、启用线程池插件、禁用线程池插件。
9、本发明的一个实施例中,所述管理接口包括用于实现以下功能的接口中的至少一种:在线程创建任务前和/或线程提交任务前进行管理、在线程执行任务前和/或后进行管理、在任务被线程池拒绝时进行管理、在线程池关闭时进行管理。
10、本发明的一个实施例中,在所述管理接口中包含用于在线程执行任务前和/或线程提交任务前进行管理的接口,所述线程管理函数用于对任务执行时长进行报警的情况下,所述调用所述线程管理函数,对所述线程处理任务的过程进行管理,包括:
11、调用所述线程管理函数,确定任务开始执行的时刻以及线程提交任务的时刻;
12、根据所确定的时刻,计算任务的执行时长;
13、若执行时长大于预设阈值,则触发进行任务超时报警。
14、在本发明实施例的第二方面,还提供了一种线程管理装置,应用于电子设备,所述电子设备中配置有线程池、线程池插件、继承于所述线程池插件的用于对所述线程池中的线程进行管理的管理接口、继承于所述线程池的扩展线程池,所述扩展线程池中重写有继承于所述管理接口的线程管理函数;
15、所述装置包括:
16、线程池调用模块,在运行应用程序执行任务的过程中,调用所述扩展线程池,通过所述扩展线程池中的线程对任务进行处理;
17、函数调用模块,用于调用所述线程管理函数,对线程处理任务的过程进行管理。
18、本发明的一个实施例中,所述电子设备还配置有用于对所述线程池插件进行管理的插件管理器,所述扩展线程池中包含所述插件管理器的对象,所述函数调用模块,具体用于:
19、通过所述插件管理器的对象查询当前的管理需求对应的线程管理函数,调用查询到的线程管理函数,对所述线程处理任务的过程进行管理。
20、本发明的一个实施例中,所述插件管理器还用于实现以下功能中的至少一种:注册线程池插件、取消线程池插件、启用线程池插件、禁用线程池插件。
21、本发明的一个实施例中,所述管理接口包括用于实现以下功能的接口中的至少一种:在线程创建任务前和/或线程提交任务前进行管理、在线程执行任务前和/或后进行管理、在任务被线程池拒绝时进行管理、在线程池关闭时进行管理。
22、本发明的一个实施例中,在所述管理接口中包含用于在线程执行任务前和/或线程提交任务前进行管理的接口,所述线程管理函数用于对任务执行时长进行报警的情况下,所述函数调用模块,具体用于:
23、调用所述线程管理函数,确定任务开始执行的时刻以及线程提交任务的时刻;
24、根据所确定的时刻,计算任务的执行时长;
25、若执行时长大于预设阈值,则触发进行任务超时报警。
26、在本发明实施例的第三方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
27、存储器,用于存放计算机程序;
28、处理器,用于执行存储器上所存放的程序时,实现第一方面任一所述的方法步骤。
29、在本发明实施例的第四方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一所述的方法步骤。
30、在本发明实施例的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面任一所述的方法步骤。
31、在本发明实施例的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面任一所述的方法步骤。
32、本发明实施例提供的一种线程管理方法,应用于电子设备,电子设备中配置有线程池、线程池插件、管理接口、扩展线程池以及线程管理函数,上述组件均是已经配置的,因此在电子设备中的应用程序需要调用线程执行任务时,可以直接调用以上组件中的线程管理函数从而对线程进行管理。并且,由于上述组件均已预先配置,因此工作人员无需在应用程序中编写以上所有组件,而是可以通过直接调用组件的方式对线程进行管理,从而可以节省工作人员的人工成本,实现便捷地线程管理。
33、并且,电子设备中往往不仅配置有一种应用程序,若不存在上述组件,则每一应用程序中均需要编写进行线程管理的代码,会导致代码大量重复冗余,也不便于对各个应用程序中进行线程管理的代码进行统一维护。但本实施例中统一配置各个组件,使得各个应用程序可以直接调用上述组件,不需要在不同的应用程序中均编写进行线程管理的代码,可以避免代码重复冗余,且在维护线程管理代码时对上述组件进行一次调整即可完成线程管理代码便捷的统一维护。
1.一种线程管理方法,其特征在于,应用于电子设备,所述电子设备中配置有线程池、线程池插件、继承于所述线程池插件的用于对所述线程池中的线程进行管理的管理接口、继承于所述线程池的扩展线程池,所述扩展线程池中重写有继承于所述管理接口的线程管理函数;
2.根据权利要求1所述的方法,其特征在于,所述电子设备还配置有用于对所述线程池插件进行管理的插件管理器,所述扩展线程池中包含所述插件管理器的对象,所述调用所述线程管理函数,对所述线程处理任务的过程进行管理,包括:
3.根据权利要求2所述的方法,其特征在于,所述插件管理器还用于实现以下功能中的至少一种:注册线程池插件、取消线程池插件、启用线程池插件、禁用线程池插件。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述管理接口包括用于实现以下功能的接口中的至少一种:在线程创建任务前和/或线程提交任务前进行管理、在线程执行任务前和/或后进行管理、在任务被线程池拒绝时进行管理、在线程池关闭时进行管理。
5.根据权利要求1所述的方法,其特征在于,在所述管理接口中包含用于在线程执行任务前和/或线程提交任务前进行管理的接口,所述线程管理函数用于对任务执行时长进行报警的情况下,所述调用所述线程管理函数,对所述线程处理任务的过程进行管理,包括:
6.一种线程管理装置,其特征在于,应用于电子设备,所述电子设备中配置有线程池、线程池插件、继承于所述线程池插件的用于对所述线程池中的线程进行管理的管理接口、继承于所述线程池的扩展线程池,所述扩展线程池中重写有继承于所述管理接口的线程管理函数;
7.根据权利要求6所述的装置,其特征在于,所述电子设备还配置有用于对所述线程池插件进行管理的插件管理器,所述扩展线程池中包含所述插件管理器的对象,所述函数调用模块,具体用于:
8.根据权利要求7所述的装置,其特征在于,所述插件管理器还用于实现以下功能中的至少一种:注册线程池插件、取消线程池插件、启用线程池插件、禁用线程池插件。
9.根据权利要求6-8中任一项所述的装置,其特征在于,所述管理接口包括用于实现以下功能的接口中的至少一种:在线程创建任务前和/或线程提交任务前进行管理、在线程执行任务前和/或后进行管理、在任务被线程池拒绝时进行管理、在线程池关闭时进行管理。
10.根据权利要求6所述的装置,其特征在于,在所述管理接口中包含用于在线程执行任务前和/或线程提交任务前进行管理的接口,所述线程管理函数用于对任务执行时长进行报警的情况下,所述函数调用模块,具体用于:
11.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一所述的方法步骤。