[发明专利]嵌入式C语言环境下退出和删除线程或进程的方法、装置无效
申请号: | 201110107507.3 | 申请日: | 2008-06-03 |
公开(公告)号: | CN102163174A | 公开(公告)日: | 2011-08-24 |
发明(设计)人: | 余加强;郑伟 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 彭愿洁;李文红 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 嵌入式 语言 环境 退出 删除 线程 进程 方法 装置 | ||
本申请为2008年6月3日提交中国专利局、申请号为200810100060.5、发明名称为“嵌入式C语言环境下异常处理方法及装置”的中国专利申请的分案申请。
技术领域
本发明涉及C语言技术,尤其涉及嵌入式C语言环境下异常处理技术。
背景技术
异常是指硬件或软件程序在运行时出现的反常情形。在嵌入式C语言环境下,传统的异常处理方法是,当发现异常时,重启系统。以程序异常为例,可以通过CPU的异常识别能力,检查程序运行时是否出现异常,一旦CPU发现程序运行时出现异常,则调用异常处理程序,将包含寄存器、当前堆栈、调用栈在内的异常信息保存下来,然后按统一的方式完成处理。即,对于发生在任务中的异常,调试版本下挂起该任务,在正式版本中重启嵌入式系统,对于发生在中断中的异常,则均以重启嵌入式系统的方式进行处理。
发明人经过仔细研究现有技术后发现,随着软件复杂度的日益增加,系统重启需要更长的时间,而产品对系统的中断时间要求越来越短,甚至不希望系统运行时发生中断,而在嵌入式C语言环境下,传统的异常处理方法无法满足这样的需求。
发明内容
本发明实施例在于提供一种嵌入式C语言环境下退出线程或进程的方法、装置以及嵌入式C语言环境下删除线程或进程的方法、装置,用以解决删除或退出的线程或进程所抛出的异常仍然占用资源而导致其他线程或进程无法使用这些资源的问题。
一种嵌入式C语言环境下退出线程或进程的方法,应用于线程主动退出的场景,包括:获得线程或进程需要退出的信息;检查需要退出的线程或进程所抛出的异常是否仍然占用资源;如果是,则释放所述占用的资源;退出所述线程或进程。
一种嵌入式C语言环境下退出线程或进程的装置,包括:信息获得单元,用于获得线程或进程需要退出的信息;资源检查单元,用于在所述信息获得单元获得线程或进程需要退出的信息后,检查需要退出的线程或进程所抛出的异常是否仍然占用资源;资源释放单元,用于在所述资源检查单元检查出需要退出的线程或进程所抛出的异常仍然占用资源,释放所述占用的资源;退出单元,用于在所述资源释放单元释放所述占用的资源后,退出所述线程或进程。
一种嵌入式C语言环境下删除线程或进程的方法,应用于当前线程或进程被其他线程或进程删除的场景,包括:确定需要删除的线程或进程;检查需要删除的线程或进程所抛出的异常是否仍然占用资源;如果是,则释放所述占用的资源;删除所述线程或进程。
一种嵌入式C语言环境下删除线程或进程的装置,包括:确定单元,用于确定需要删除的线程或进程;资源检查单元,用于在所述确定单元确定需要删除的线程或进程后,检查需要删除的线程或进程所抛出的异常是否仍然占用资源;资源释放单元,用于在所述资源检查单元检查出需要删除的线程或进程所抛出的异常仍然占用资源,释放所述占用的资源;线程或进程删除单元,用于在所述资源释放单元释放所述占用的资源后,删除所述线程或进程。
在本发明实施例的嵌入式C语言环境下退出或删除线程或进程的方法中,无论是退出或者删除线程或进程,都可以释放处理线程或进程抛出的异常所占用的资源,这样,当其他线程或进程需要使用这些资源时,不会因为删除或退出的线程或进程所抛出的异常仍然占用资源而导致其他线程或进程无法使用这些资源。另外,还可以由其他线程删除所需要删除的线程,从而可以实现跨线程删除线程时的异常处理。
附图说明
图1为本发明实施例的嵌入式C语言环境下异常处理方法的流程图;
图2为本发明实施例的嵌入式C语言环境下异常处理装置的结构示意图;
图3为本发明实施例的不同的异常处理程序对应不同的异常类型的示意图;
图4为本发明的嵌入式C语言环境下异常处理方法一具体实施例的流程图;
图5为本发明实施例的堆空间存储异常相关信息的存储布局示意图;
图6为本发明实施例的try块的实现流程图;
图7为本发明实施例的except块的实现流程图;
图8为本发明实施例的捕捉某种特定异常的实现流程图;
图9为本发明实施例的捕捉处理指定异常的实现流程图;
图10为本发明实施例的捕捉和处理某一异常区间内的异常的实现流程图;
图11为本发明实施例的throw块的实现流程图;
图12为本发明实施例的异常处理的精细管理方法的流程图;
图13为本发明实施例的退出线程或进程的方法的流程图;
图14为本发明实施例的退出线程或进程的装置的结构示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110107507.3/2.html,转载请声明来源钻瓜专利网。