修复 Bug
This commit is contained in:
@@ -86,9 +86,12 @@ public class SmartFrame : IDisposable
|
||||
/// </summary>
|
||||
public void Activate()
|
||||
{
|
||||
// Optimized: [原因] 使用 Exchange 强制重置归还标记,确保该帧在逻辑上完全从池中脱离,防止归还竞态
|
||||
Interlocked.Exchange(ref _isReturned, 0);
|
||||
|
||||
// 激活后引用计数设为 1,代表生产者(驱动/管道)持有该帧
|
||||
_refCount = 1;
|
||||
_isReturned = 0; // 激活时重置归还标记
|
||||
|
||||
// 记录帧被取出池的时间,用于后续延迟计算
|
||||
Timestamp = DateTime.Now;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user