feat(ui): 优化UI实例ID生成逻辑以支持多线程安全

- 使用Interlocked.Increment确保多线程环境下实例计数器的原子操作
- 修复了潜在的并发访问导致ID重复的问题
- 保持原有的ID格式化规则不变
- 为GenerateInstanceId方法添加返回值XML文档注释
This commit is contained in:
GeWuYou 2026-02-08 14:27:12 +08:00
parent d2e2739016
commit 94bfa9aa29

View File

@ -457,9 +457,13 @@ public abstract class UiRouterBase : AbstractSystem, IUiRouter
/// <summary> /// <summary>
/// 生成唯一实例ID /// 生成唯一实例ID
/// </summary> /// </summary>
/// <returns>格式为"ui_000001"的唯一实例标识符</returns>
private string GenerateInstanceId() private string GenerateInstanceId()
{ {
return $"ui_{++_instanceCounter:D6}"; // 原子操作递增实例计数器,确保多线程环境下的唯一性
var id = Interlocked.Increment(ref _instanceCounter);
// 返回格式化的实例ID字符串
return $"ui_{id:D6}";
} }
/// <summary> /// <summary>