Java应用设计流程 Java应用设计流程 一、系统概述 鉴于Java虚拟机需要异步的处理,它内部有若干个线程需要运行和统一的调度,因此 在OPUS平台为其分配一个KVM任务来进行管理,它与HMI任务之间通过各自的MBox来进行 通信。 KVM需要使用OPUS提供的Java Api服务,为了防止KVM任务与HMI任务同时对相同资源进行操作造成错误,KVM调用绝大 部分Java Api需要采用异步方式,通过MBox发消息给HMI任务以使相应操作在HMI任务中串行执行; 当执行完成后,HMI任务将结果封装成消息通过MBox发送给KVM任务。 以下是KVM任务异步调用Java Api的处理流程: 1、KVM调用Java API时将对应Java类型消息发送到MMI_MBox; 2、在Java App的handler处理函数中响应该Java类型消息并进行相应处理; 3、Java App将处理结果封装成对应Java类型消息发送到KVM_MBox; 4、KVM得到该消息并进行相应处理。 二、KVM任务 KVM任务为Java虚拟机处理部分,KVM任务与HMI任务同时创建,该任务创建时处于“s uspend”状态,当启动“Java App”后,该任务处于“run”状态;当Java虚拟机终止Java App时,该任务处于“suspend”状态。 1、KVM任务中MBOX以及消息结构定义 KVM任务消息的接收是通过自己的MBox来接收的, 在GSM_message.h中定义KVM_MBOX如下: #define KVM_MBOX (NMBOXES_CONEXANT +3) 在GSM_msgbox.c中定义K……