mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-05-12 22:03:30 +08:00
fix(core-tests): 修复 PauseStackManagerTests 锁分析器警告
- 修复 PauseStackManagerTests 并发测试中的锁声明,针对 net9 以上使用专用 Lock。 - 保持 net8.0 回退到 object 锁,确保多目标兼容且测试行为不变。
This commit is contained in:
parent
946cdbb9d2
commit
650618b5ab
@ -47,9 +47,11 @@ public sealed class AsyncKeyLockManagerTests
|
|||||||
var index = i;
|
var index = i;
|
||||||
tasks.Add(Task.Run(async () =>
|
tasks.Add(Task.Run(async () =>
|
||||||
{
|
{
|
||||||
await using var handle = await manager.AcquireLockAsync("same-key").ConfigureAwait(false);
|
await using ((await manager.AcquireLockAsync("same-key").ConfigureAwait(false)).ConfigureAwait(false))
|
||||||
executionOrder.Add(index);
|
{
|
||||||
await Task.Delay(10).ConfigureAwait(false);
|
executionOrder.Add(index);
|
||||||
|
await Task.Delay(10).ConfigureAwait(false);
|
||||||
|
}
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -75,11 +77,13 @@ public sealed class AsyncKeyLockManagerTests
|
|||||||
var key = $"key-{i}";
|
var key = $"key-{i}";
|
||||||
tasks.Add(Task.Run(async () =>
|
tasks.Add(Task.Run(async () =>
|
||||||
{
|
{
|
||||||
await using var handle = await manager.AcquireLockAsync(key).ConfigureAwait(false);
|
await using ((await manager.AcquireLockAsync(key).ConfigureAwait(false)).ConfigureAwait(false))
|
||||||
var current = Interlocked.Increment(ref concurrentCount);
|
{
|
||||||
maxConcurrent = Math.Max(maxConcurrent, current);
|
var current = Interlocked.Increment(ref concurrentCount);
|
||||||
await Task.Delay(50).ConfigureAwait(false);
|
maxConcurrent = Math.Max(maxConcurrent, current);
|
||||||
Interlocked.Decrement(ref concurrentCount);
|
await Task.Delay(50).ConfigureAwait(false);
|
||||||
|
Interlocked.Decrement(ref concurrentCount);
|
||||||
|
}
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -117,8 +121,10 @@ public sealed class AsyncKeyLockManagerTests
|
|||||||
var key = $"key-{i % 10}";
|
var key = $"key-{i % 10}";
|
||||||
tasks.Add(Task.Run(async () =>
|
tasks.Add(Task.Run(async () =>
|
||||||
{
|
{
|
||||||
await using var handle = await manager.AcquireLockAsync(key).ConfigureAwait(false);
|
await using ((await manager.AcquireLockAsync(key).ConfigureAwait(false)).ConfigureAwait(false))
|
||||||
await Task.Delay(1).ConfigureAwait(false);
|
{
|
||||||
|
await Task.Delay(1).ConfigureAwait(false);
|
||||||
|
}
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -139,10 +145,12 @@ public sealed class AsyncKeyLockManagerTests
|
|||||||
{
|
{
|
||||||
tasks.Add(Task.Run(async () =>
|
tasks.Add(Task.Run(async () =>
|
||||||
{
|
{
|
||||||
await using var handle = await manager.AcquireLockAsync("same-key").ConfigureAwait(false);
|
await using ((await manager.AcquireLockAsync("same-key").ConfigureAwait(false)).ConfigureAwait(false))
|
||||||
var temp = counter;
|
{
|
||||||
await Task.Delay(1).ConfigureAwait(false);
|
var temp = counter;
|
||||||
counter = temp + 1;
|
await Task.Delay(1).ConfigureAwait(false);
|
||||||
|
counter = temp + 1;
|
||||||
|
}
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -295,8 +303,10 @@ public sealed class AsyncKeyLockManagerTests
|
|||||||
{
|
{
|
||||||
for (var j = 0; j < 10; j++)
|
for (var j = 0; j < 10; j++)
|
||||||
{
|
{
|
||||||
await using var handle = await manager.AcquireLockAsync($"key-{j % 5}").ConfigureAwait(false);
|
await using ((await manager.AcquireLockAsync($"key-{j % 5}").ConfigureAwait(false)).ConfigureAwait(false))
|
||||||
await Task.Delay(10).ConfigureAwait(false);
|
{
|
||||||
|
await Task.Delay(10).ConfigureAwait(false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|||||||
@ -431,7 +431,11 @@ public class PauseStackManagerTests
|
|||||||
{
|
{
|
||||||
var tasks = new List<Task>();
|
var tasks = new List<Task>();
|
||||||
var tokens = new List<PauseToken>();
|
var tokens = new List<PauseToken>();
|
||||||
|
#if NET9_0_OR_GREATER
|
||||||
|
var lockObj = new System.Threading.Lock();
|
||||||
|
#else
|
||||||
var lockObj = new object();
|
var lockObj = new object();
|
||||||
|
#endif
|
||||||
|
|
||||||
for (int i = 0; i < 100; i++)
|
for (int i = 0; i < 100; i++)
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user