运行时模块管理应用程序的执行生命周期、线程管理和实时操作控制。
| English Version | 中文版本 |
运行时模块提供:
运行时系统协调所有引擎组件:
主运行时管理和协调系统。
管理从启动到关闭的完整应用程序生命周期。
RuntimeState := {
IsInitialized: false,
IsRunning: false,
IsPaused: false,
IsStopping: false,
StartTime: 0,
UptimeMs: 0,
ThreadCount: 0,
ActiveEngines: []
}
管理多个执行线程以进行并行处理。
Thread := {
Id: 1,
Name: "MainRotation",
Priority: "Normal",
IntervalMs: 100,
IsRunning: false,
LastRunTime: 0,
ErrorCount: 0,
EngineDependencies: ["RotationEngine", "CastEngine"]
}
跟踪运行时性能指标。
PerformanceMetrics := {
FPS: 60,
CPUUsage: 15.5,
MemoryUsage: 102.4,
ThreadLatency: [5, 8, 12],
EnginePerformance: {
RotationEngine: 2.1,
CastEngine: 1.8,
BuffEngine: 0.9
}
}
初始化运行时系统。
参数:无
返回:布尔值指示成功
开始主运行时执行。
参数:无
返回:布尔值指示成功
停止运行时执行。
参数:无
返回:布尔值指示成功
暂停运行时执行。
参数:无
返回:布尔值指示成功
恢复运行时执行。
参数:无
返回:布尔值指示成功
创建新的执行线程。
参数:
threadConfig(Map):线程配置返回:线程 ID
启动特定线程。
参数:
threadId(整数):线程标识符返回:布尔值指示成功
停止特定线程。
参数:
threadId(整数):线程标识符返回:布尔值指示成功
获取特定线程的状态。
参数:
threadId(整数):线程标识符返回:线程状态映射
获取当前性能指标。
参数:无
返回:性能指标映射
获取特定引擎的性能指标。
参数:
engineName(字符串):引擎名称返回:引擎性能指标
重置性能指标。
参数:无
返回:布尔值指示成功
; 初始化运行时系统
if (Runtime_Init()) {
; 启动运行时
if (Runtime_Start()) {
Logger_Info("Runtime", "运行时已启动")
}
}
; 暂停和恢复运行时
Runtime_Pause()
Sleep, 5000 ; 暂停 5 秒
Runtime_Resume()
; 停止运行时
Runtime_Stop()
; 创建新线程
threadConfig := {
Name: "RotationThread",
Priority: "Normal",
IntervalMs: 100,
EngineDependencies: ["RotationEngine", "CastEngine"]
}
threadId := Runtime_CreateThread(threadConfig)
; 启动线程
if (Runtime_StartThread(threadId)) {
Logger_Info("Runtime", "线程已启动", {"threadId": threadId})
}
; 获取线程状态
threadState := Runtime_GetThreadState(threadId)
Logger_Info("Runtime", "线程状态", threadState)
; 获取性能指标
metrics := Runtime_GetPerformanceMetrics()
Logger_Info("Runtime", "性能指标", metrics)
; 获取特定引擎性能
rotationPerf := Runtime_GetEnginePerformance("RotationEngine")
Logger_Info("Runtime", "旋转引擎性能", rotationPerf)
; 重置性能指标
Runtime_ResetPerformanceMetrics()
运行时设置存储在配置文件数据中:
profile := App["ProfileData"]
profile["RuntimeConfig"] := {
DefaultThreadPriority: "Normal",
DefaultThreadInterval: 100,
PerformanceMonitoring: true
}
线程配置可以动态调整:
; 动态调整线程间隔
threadState := Runtime_GetThreadState(threadId)
if (threadState["ErrorCount"] > 5) {
; 增加间隔以减少错误
threadState["IntervalMs"] := 200
}
运行时模块包含全面的错误处理:
模块提供实时监控的调试接口:
; 启用运行时调试
Runtime_EnableDebug()
; 获取调试信息
debugInfo := Runtime_GetDebugInfo()
详细的线程状态信息用于调试:
; 获取所有线程状态
allThreads := Runtime_GetAllThreads()
for threadId, state in allThreads {
Logger_Debug("Runtime", "线程状态", {"threadId": threadId, "state": state})
}