<PackageReference Include="Castle.Core" Version="4.4.1" />

SynchronizedDictionary<TKey, TValue>

sealed class SynchronizedDictionary<TKey, TValue> : IDisposable
public ReaderWriterLockSlim Lock { get; }

public void AddOrUpdateWithoutTakingLock(TKey key, TValue value)

public void Dispose()

public void ForEach(Action<TKey, TValue> action)

public TValue GetOrAdd(TKey key, Func<TKey, TValue> valueFactory)

public TValue GetOrAddWithoutTakingLock(TKey key, Func<TKey, TValue> valueFactory)

public bool TryGetValueWithoutTakingLock(TKey key, out TValue value)