当前位置: 首页 > news >正文

【仿真建模-anylogic】事件之手动定时触发

Author:赵志乾
Date:2024-06-11
Declaration:All Right Reserved!!!

问题:建模过程中经常遇到需要临时规划特定逻辑执行时机的场景;

解决方案:在Event的User Control模式下,通过api方式对事件对象进行操控;事件对象的常用api见下表:

函数功能
boolean isActive()判定事件对象是否存在尚未调度的执行规划
void reset()取消事件对象上尚未调度的执行规划
void restart(double timeout, TimeUnits units)重新为事件对象设置执行规划
double getRest(TimeUnits units)获取当前时刻至Event逻辑触发时的时间间隔,当Event不存在尚未执行的规划时,该函数将返回infinity。

代码模板以及额外事项说明:

// 前提条件: 容器智能体内已有事件event定义,并且设置模式为user control;
if(condition){// step1: 基于当前时刻重新规划执行时机--10分钟后执行事件event.restart(10,MINUTE);
}额外说明:
1.  reset函数内部会自动将超时时间设置为Double.POSITIVE_INFINITY;此时再调用isActive函数将返回false;
2.  restart函数内部会自动调用reset函数,用户无需再额外处理;
3.  User Control模式下,事件一旦被触发将自动进入失活状态,即调用isActive函数将返回false;
4.  restart函数将超时时间设为Double.POSITIVE_INFINITY时,事件对象将自动进入失活状态;
5.  基于以上描述,一个Event对象只能串行调度事件,且在特定时刻只能规划未来一个执行时刻,当在前一次规划时刻前重新规划时,原有规划内容将被覆盖(原因: restart自动调用reset取消尚未执行的规划);
http://www.lryc.cn/news/369835.html

相关文章:

  • ElasticSearch学习笔记之三:Logstash数据分析
  • 求职力扣刷题DAY20--二叉树 part06
  • Error:Kotlin: Module was compiled with an incompatible version of Kotlin.
  • 关于flutter 启动 页面加载空白(三四秒空白页面)
  • 计量校准证书和检定证书区别,企业仪器校准要哪种证书好?
  • 解析Java中1000个常用类:StackWalker类,你学会了吗?
  • 【代码随想录算法训练Day32】LeetCode 122 买卖股票的最佳时机 II、LeetCode 55.跳跃游戏、LeetCode 45.跳跃游戏II
  • Qt之QGraphicsView —— 笔记3:矩形图元连接(附完整源码)
  • 2024年,计算机相关专业还值得选择吗?
  • 流批一体计算引擎-10-[Flink]中的常用算子和DataStream转换
  • Java进阶_多态特性
  • 一个热门的源码整站数据打包完整代码(开箱即用),集成了最新有效数据和完美wordpress主题。
  • 操作系统真象还原-第3章 完善MBR
  • 翻转链表-链表题
  • 【Android面试八股文】volatile和synchronize有什么区别?
  • linux flask | 接口保持在后台一直运行、python后端接口长期调用、python后台持续运行方法、python提供后端接口
  • 二分查找算法:穿越算法迷宫的指南
  • 【Week-R3】天气预测,引入探索式数据分析方法(EDA)
  • VBA excel 表格将多行拆分成多个表格或 文件 或者合并 多个表格
  • 利用Redis的队列模式实现消息的发送和订阅,适合分布式场景,Java实现代码
  • 软件下载安装【汇总】
  • 重定向文件访问(Redirect file access)
  • 隐私计算(1)数据可信流通
  • 果汁机锂电池充电,5V升压12.7V 升压恒压芯片SL1571B
  • 多个线程多个锁:如何确保线程安全和避免竞争条件
  • Linux-笔记 设备树插件
  • 【排序算法】总结篇
  • 鸿蒙开发文件管理:【@ohos.fileio (文件管理)】
  • 硬件工程师学习规划
  • esp32 8行代码实现蓝牙音响