【仿真建模-anylogic】Dynamic Event原理解析

news2024/12/23 22:54:08
Author:赵志乾
Date:2024-06-12
Declaration:All Right Reserved!!!

1. 类图

2. 原理解析

         EventOriginator是Anylogic中各类事件的父类,对外暴露的接口主要有:

函数功能
boolean isActive()判定是否存在尚未调度的执行规划
double getRest(TimeUnits units)获取当前时刻至事件逻辑触发时的时间间隔,当不存在尚未执行的规划时,该函数将返回infinity

         DynamicEvent是EventOriginator的子类,其主要扩充了 void reset()函数;

         CustomDynamicEvent是由用户拖拽Dynamic Event组件后由Anylogic自动生成的DynamicEvent子类,用户可在该组件的属性窗口自定义入参和事件逻辑;Anylogic会依据自定义入参自行调整生成的构造函数,并为用户生成对应的create_CustomDynamicEvent方法;

注意:CustomDynamicEvent是动态事件组件中的Name属性,用户可自行修改;

        create_CustomDynamicEvent函数的内部逻辑:新建CustomDynamicEvent实例并返回;这也是DynamicEvent可以并行的原因(每次都是生成一个新的实例,互不影响);

3. 应用

场景1:创建独立的动态事件
// 每次调用create_CustomDynamicEvent函数都会重新生成一个CustomDynamicEvent实例,相互之间本就独立;

create_CustomDynamicEvent(10,MINUTE);
create_CustomDynamicEvent(20,MINUTE);
create_CustomDynamicEvent(30,MINUTE);
场景2:需要动态取消动态事件
// create_CustomDynamicEvent函数返回值为CustomDynamicEvent,使用List存储起来;在需要需要事件时调用CustomDynamicEvent实例的reset函数即可;

List<CustomDynamicEvent> dynamicEvents = new ArrayList<>();
dynamicEvents.add(create_CustomDynamicEvent(10,MINUTE));

CustomDynamicEvent dynamicEvent = dynamicEvents.get(0);
// 是否使用isActive做预先判定无关紧要,因为DynamicEvent的reset函数是幂等的;
if(dynamicEvent.isActive()){
    dynamicEvent.reset();
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1814774.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

泛微OA E9 浏览框显示的数据根据表单字段过滤

一、实现效果&#xff1a;如图所示&#xff0c;字段“物品名称”浏览框显示的数据根据“类型”字段进行过滤。 二、实现方法&#xff1a; 1、建模引擎-应用建模-浏览框-浏览框列表中单击“办公耗材”-“浏览框列表”-“操作”-“编辑” 2、sql语句中根据OA自带是示例增加where…

autoware lidar-centerpoint 点云在rviz上叠加显示问题

在使用自采数据包放入autoware中的lidar_centerpoint上进行检测时发现&#xff0c;在rviz可视化上出现问题&#xff1a;多帧点云在一个位置上不断叠加&#xff0c;不能正常随时间显示。 如下图所示&#xff1a; 解决方法&#xff1a; 出现上述问题是因为autoware默认使用的是…

多用户竞拍商城系统 挂售转卖竞拍商城系统源码 竞拍系统 竞拍系统开发定制 转拍闪拍系统 后端PHP+前端UNIAPP源码+教程

挂售转卖竞拍商城系统源码/竞拍系统/转拍闪拍系统/后端PHP前端UNIAPP源码 玩法简介 ①、后台可添加商品进行挂单 ②、后台设置场次以及场次开始时间 ③、用户抢单 ④、抢单以后可选择提货或者转售 ⑤、玩家寄售需按照后台设置百分比进行加价 ⑥、玩家寄售需支付手续费(余额支付…

图的存储表示

目录 概述 图的定义 图的存储结构 1&#xff09;邻接矩阵 2&#xff09;邻接表 3&#xff09;十字链表 4&#xff09;邻接多重表 概述 数据结构分为两类&#xff0c;一类是具有递归结构的数据结构&#xff0c;也就是可以给出一个递归定义的数据结构&#xff0c;一类是非递归结构…

你好!Python

目录 写在前面 编辑推荐 内容简介 作者简介 前言 推荐理由 写在后面 写在前面 本期博主给大家推荐一本全新出版的Python图书&#xff0c;感兴趣的小伙伴一起来看看吧&#xff01; 《你好&#xff01;Python 全彩印刷 从零开始学 语言轻松幽默 版式精美 视频讲解 提供代…

成功的管理者必做的10件事

管理者是团队的核心&#xff0c;他们不仅要有出色的领导能力&#xff0c;还要具备应对各种挑战的智慧和勇气。以下是成功的管理者必做的10件事&#xff1a; 1、设定明确的目标 管理者要为团队设定清晰、可衡量且具有挑战性的目标&#xff0c;这些目标不仅与组织的长期愿景相…

高考志愿填报,如何分析自己的优势特长?

据不完全统计&#xff0c;80%的高三学生&#xff0c;不清楚自己要报什么专业&#xff0c;以及将来从事哪种职业&#xff1f;有的人则是完全听从父母的安排&#xff0c;有人听老师的建议&#xff0c;有人追热门&#xff0c;有人查什么专业可以拿高薪.... 而现实就是&#xff1a…

水产养殖监测站的工作原理

TH-LSZ06水产养殖监测站是保障水产质量安全的重要设施&#xff0c;监测水产养殖环境&#xff1a;负责监测水产养殖基地的水质、底泥、养殖物质等&#xff0c;确保养殖环境的适宜性和安全性。通过对养殖环境的实时监测&#xff0c;可以及时发现和预警水产疾病和污染问题&#xf…

pdf文件怎么改变大小?在线快速压缩pdf的方法

pdf作为一种常用的文件格式&#xff0c;使用这种文件类型的好处在于不仅拥有更好的兼容性&#xff0c;还可以设置密码来保证安全性&#xff0c;防止未授权用户查看内容&#xff0c;所以现在导出文件展示都会采用这种格式的来做内容展示。当遇到pdf文件过大问题时&#xff0c;想…

Unity | Tilemap系统

目录 一、准备工作 1.插件导入 2.资源导入 二、相关组件介绍 1.Grid组件 2.Tilemap组件 3.Tile 4.Tile Palette 5.Brushes 三、动态创建地图 四、其他功能 1.移动网格上物体 2.拖拽缩放地图 Unity Tilemap系统为2D游戏开发提供了一个直观且功能强大的平台&#xff…

知网学术期刊《数学之友》投稿难度大吗?

知网学术期刊《数学之友》投稿难度的大小&#xff0c;实际上取决于多个因素的综合考量&#xff0c;包括论文的质量、研究方向的匹配度、期刊的审稿标准以及投稿者的学术背景等。 首先&#xff0c;从期刊的定位和特点来看&#xff0c;《数学之友》作为一份专注于数学领域的学术期…

利用R包“Phenotype”对表型值进行检查

首先&#xff0c;你需要确保你已经安装了R和RStudio&#xff08;如果你想用RStudio的话&#xff09;。然后&#xff0c;你可以按照以下步骤进行操作&#xff1a; 加载数据&#xff1a;首先&#xff0c;你需要加载你的表型数据。如果你的数据是以CSV、Excel等格式保存的&#x…

vue2中如何动态渲染组件

vue2中如何动态渲染组件 动态渲染组件代码解读通过函数调用渲染组件 封装一个函数调用的二次确认弹窗如何让外部知道用户点击了取消还是确定呢&#xff1f; 思考小结 vue2 的项目中&#xff0c;main.js 文件中有一个挂载 App.vue 组件的方法&#xff1a; new Vue({name: Root,…

Python酷库之旅-比翼双飞情侣库(01)

目录 一、xlrd库的由来 二、xlrd库优缺点 1、优点 1-1、支持多种Excel文件格式 1-2、高效性 1-3、开源性 1-4、简单易用 1-5、良好的兼容性 2、缺点 2-1、对.xlsx格式支持有限 2-2、功能相对单一 2-3、更新和维护频率低 2-4、依赖外部资源 三、xlrd库的版本说明 …

Linux C语言:多级指针(void指针和const)

一、多级指针 把一个指向指针变量的指针变量&#xff0c;称为多级指针变量对于指向处理数据的指针变量称为一级指针变量指向一级指针变量的指针变量称为二级指针变量 1、二级指针变量的说明形式 <数据类型> ** <指针名> &#xff1b; 一张图理解二级指针 2、多…

intouch的报警怎么发到短信/微信上

Intouch 与 GRM_OPCGATE 通讯协议 一、安装 FS GateWay&#xff08;INTOUCH 驱动盘里有这个驱动程序&#xff0c;根目录:\INTOUCH10.0\DA Server\WW\FSG-1.5.100&#xff09; 。注&#xff1a;安装 INTOUCH 时&#xff0c;可能已同时安装了这个驱动&#xff0c;如图在下查看&am…

【Java】如何提升RocketMQ顺序消费性能?

一、问题解析 我们先来了解一下 RocketMQ 顺序消费的实现原理。RocketMQ 支持局部顺序消息消费&#xff0c;可以保证同一个消费队列上的消息顺序消费。例如&#xff0c;消息发送者向主题为 ORDER_TOPIC 的 4 个队列共发送 12 条消息&#xff0c; RocketMQ 可以保证 1、4、8 这…

ultralytics框架讲解

ultralytics简介 Ultralytics是一个开源的计算机视觉和深度学习框架&#xff0c;旨在简化训练、评估和部署视觉模型的过程。该框架提供了一系列流行的视觉模型&#xff0c;包括YOLOv5、YOLOv4、YOLOv3、YOLOv3-tiny、YOLOv5-tiny、EfficientDet、PAN、PP-YOLO等&#xff0c;并提…

西门子PLC数据 转IEC61850项目案例

1 案例说明 设置网关采集西门子PLC数据把采集的数据转成IEC61850协议转发给其他系统。 2 VFBOX网关工作原理 VFBOX网关是协议转换网关&#xff0c;是把一种协议转换成另外一种协议。网关可以采集西门子&#xff0c;欧姆龙&#xff0c;三菱&#xff0c;AB PLC&#xff0c;DLT6…

【Ardiuno】实验ESP32单片机完成搭建简易Web服务器功能(图文)

今天&#xff0c;小飞鱼继续来测试使用ESP32来实现简易的wifi无线web服务器功能。使用Ardiuno平台编辑器输入以下示例代码&#xff1a; #include <WiFi.h> #include <WiFiClient.h> #include <WebServer.h> #include <ESPmDNS.h>const char* ssid &q…