[发明专利]多进程管理方法、存储介质、电子设备及系统有效
申请号: | 201810746906.6 | 申请日: | 2018-07-09 |
公开(公告)号: | CN109062686B | 公开(公告)日: | 2021-04-23 |
发明(设计)人: | 周志刚 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/54 |
代理公司: | 武汉智权专利代理事务所(特殊普通合伙) 42225 | 代理人: | 张凯 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 进程 管理 方法 存储 介质 电子设备 系统 | ||
本发明公开了一种多进程管理方法、存储介质、电子设备及系统,涉及控制技术领域,该方法包括调用Windows系统API函数中的CreateNamedPipe函数创建多个用于主进程和辅助进程间通信的命名管道,且每个命名管道对应一个辅助进程;主进程调用函数WriteFile在命名管道中写入任务数据,并将写入的任务数据发至对应的辅助进程;辅助进程调用函数ReadFile从命名管道中读取任务数据;辅助进程基于任务数据进行相应任务的执行,且待任务执行完毕后,辅助进程调用函数AtExit完成自身的退出。本发明中主进程通过命名管道对辅助进程的任务执行状态进行掌控,保证多辅助进程运行情况下应用程序的正常运行。
技术领域
本发明涉及控制技术领域,具体涉及一种多进程管理方法、存储介质、电子设备及系统。
背景技术
当前,对于一些服务类型的应用程序,特别是对于具有独立任务的应用程序,通常会采用多进程的架构设计,采用多进程的设计,可以使得一个进程的不稳定不会导致整个程序出错,即对于一个服务型的应用程序,当一个进程因为奔溃退出时,其它进程还可以继续进行服务,多进程具有更强的健壮性,以此来保证应用程序的正常运行。
在实际的运行过程中,例如可以创建一个主进程用于接收任务,然后通过主进程创建多个辅助进程(子进程)来完成不同任务,即对于每一个所接收的任务,都由一个辅助进程来完成,即不同的任务创建不同的辅助进程来完成,例如搜索文件任务、写文件任务、图片处理任务等。实际运行中并不能保障每个辅助进程都能稳定运行,由于同时运行的辅助进程过多,有的辅助进程的任务可能执行到一半时产生了数据错误,导致应用程序奔溃,有的辅助进程执行的任务可能会产生死锁导致应用程序卡死,现有技术中主进程对于辅助进程并没有很好的管理方案。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种多进程管理方法,主进程通过命名管道对辅助进程的任务执行状态进行掌控,保证多辅助进程运行情况下应用程序的正常运行。
为达到以上目的,本发明采取的技术方案是,包括:
调用Windows系统API函数中的CreateNamedPipe函数创建多个用于主进程和辅助进程间通信的命名管道,且每个命名管道对应一个辅助进程;
主进程调用函数WriteFile在命名管道中写入任务数据,并将写入的任务数据发至对应的辅助进程;
辅助进程调用函数ReadFile从命名管道中读取任务数据;
辅助进程基于任务数据进行相应任务的执行,且待任务执行完毕后,辅助进程调用函数AtExit完成自身的退出,并通过命名管道发送用于表示任务已执行完毕且辅助进程已退出的数据至主进程。
在上述技术方案的基础上,
每个辅助进程对应执行一个任务;
所述命名管道创建时还需传入名称参数;
传入命名管道中的名称参数为该命名管道对应辅助进程所待执行任务的名称。
在上述技术方案的基础上,当命名管道创建完成后,对于主进程:
调用函数ConnectNamedPipe等待该命名管道对应的辅助进程连接;
待辅助进程通过命名管道完成与主进程的连接,接收辅助进程通过命名管道发送用于表示连接成功的数据至主进程;
调用函数ReadFile对辅助进程发送的数据进行读取;
调用函数WriteFile在命名管道中写入任务数据,并将写入的任务数据发至对应的辅助进程。
在上述技术方案的基础上,当命名管道创建完成后,对于辅助进程:
调用函数CreateFile连接命名管道,完成与主进程间的连接;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810746906.6/2.html,转载请声明来源钻瓜专利网。