安全关键Java:任务方法详解
1. 任务生命周期概述
安全关键Java(SCJ)采用任务方法来管理系统的执行流程。任务生命周期包含多个关键阶段和组件,如Safelet、MissionSequencer、Mission和MissionMemory等。
任务生命周期的核心流程如下:
1. 初始化阶段 :MissionSequencer通过 getNextMission 方法获取下一个任务,然后调用 start 方法开始任务。在任务初始化过程中,会创建任务对象或其代理,并且会初始化相关的事件处理程序。
2. 任务执行阶段 :每个任务都有自己的内存区域,用于有限的内存分配。每次事件处理程序触发时, handleAsyncEvent 方法会被调用,该方法执行时会从一个空的内存区域开始。任务阶段的持续时间没有明确限制,需要通过调用 requestTermination 方法来显式结束任务。
3. 任务清理阶段 :调用 Mission.requestTermination 方法会唤醒MissionSequencer的控制线程,该线程会向与活动任务相关的各个线程发送终止请求。事件处理程序线程会在当前执行的 handleAsyncEvent 方法返回后终止执行,并且基础设施会停止所有事件处理程序的进一步触发。在确认所有相关线程都已终止后,MissionSequencer会调用任务的
超级会员免费看
订阅专栏 解锁全文
11万+

被折叠的 条评论
为什么被折叠?



