多进程运行方法、装置、终端设备及计算机可读存储介质与流程

    专利2025-04-02  10


    本技术属于计算机,尤其涉及一种多进程运行方法、装置、终端设备及计算机可读存储介质。


    背景技术:

    1、powerbuilder是一门面向对象的集成化开发工具,通过powerbuilder可以方便快捷地开发出功能强大的、独立于服务器上的数据库应用程序。

    2、但是,当前使用powerbuilder开发出来的应用程序只能单进程的运行任务,也就是说,当单位时间内有多项独立任务需要完成时,任务的执行顺序是按照排队式逐个完成每一项任务的方式进行的,进而导致排队靠后的任务由于需要等待前面的任务执行完成后才得以执行,等待时间长,导致应用程序的使用舒适度大大降低。


    技术实现思路

    1、本技术实施例提供了一种多进程运行方法、装置、终端设备及计算机可读存储介质,可以解决当前使用powerbuilder开发出来的应用程序运行代码的时间变长,影响用户使用应用程序的体验的问题。

    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、第三方面,本技术实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面中任一项所述的多进程运行方法。

    34、第四方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面中任一项所述的多进程运行方法。

    35、第五方面,本技术实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备运行上述第一方面中任一项所述的多进程运行方法。

    36、可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。


    技术特征:

    1.一种多进程运行方法,其特征在于,包括:

    2.根据权利要求1所述的多进程运行方法,其特征在于,所述主进程启动运行后创建第一通讯窗口,所述第一子进程启动运行后创建第二通讯窗口,所述控制所述第一子进程运行所述子任务对应的子程序,包括:

    3.根据权利要求1所述的多进程运行方法,其特征在于,所述第一子进程启动运行后创建第二通讯窗口,所述接收所述第一子进程反馈的所述子程序的运行结果,包括:

    4.根据权利要求3所述的多进程运行方法,其特征在于,所述根据所述第一信号获取所述第一子进程的运行结束状态,包括:

    5.根据权利要求3所述的多进程运行方法,其特征在于,所述方法还包括:

    6.根据权利要求1所述的多进程运行方法,其特征在于,所述方法还包括:

    7.根据权利要求1-6中任一项所述的多进程运行方法,其特征在于,所述主进程根据所述第一子进程反馈的运行结果获得所述目标应用程序的运行结果,包括:

    8.一种多进程运行装置,其特征在于,包括:

    9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的方法。

    10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。


    技术总结
    本申请提供一种多进程运行方法、装置、终端设备及计算机可读存储介质,该方法包括:启动目标应用程序的主进程执行对应的主任务,其中,主任务中包括至少一个子任务;响应于执行子任务,主进程创建第一子进程,控制第一子进程运行子任务对应的子程序,并接收第一子进程反馈的子程序的运行结果,其中,主进程和第一子进程为目标应用程序的应用进程;主进程根据第一子进程反馈的运行结果获得目标应用程序的运行结果。本申请提供的多进程运行方法通过主进程执行目标应用程序的主任务,通过创建第一子进程执行主任务中的子任务,以实现通过多个进程来运行目标应用程序,使得目标应用程序的运行时间变短,提高用户使用目标应用程序的体验。

    技术研发人员:陈宏亮,谢冲,肖先辉
    受保护的技术使用者:深圳市科脉技术股份有限公司
    技术研发日:
    技术公布日:2024/4/29
    转载请注明原文地址:https://wp.8miu.com/read-84912.html

    最新回复(0)