mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-22 10:34:30 +08:00
feat(ui): 优化UI实例ID生成逻辑以支持多线程安全
- 使用Interlocked.Increment确保多线程环境下实例计数器的原子操作 - 修复了潜在的并发访问导致ID重复的问题 - 保持原有的ID格式化规则不变 - 为GenerateInstanceId方法添加返回值XML文档注释
This commit is contained in:
parent
d2e2739016
commit
94bfa9aa29
@ -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>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user