コード例 #1
0
        public async ValueTask AddAsync(KeyValuePair <TKey, TValue> item)
        {
            IAsyncDisposable objLocker = await LockObject.EnterWriteLockAsync().ConfigureAwait(false);

            try
            {
                _dicData.Add(item.Key, item.Value);
            }
            finally
            {
                await objLocker.DisposeAsync().ConfigureAwait(false);
            }
        }
コード例 #2
0
        /// <inheritdoc cref="Queue{T}.Clear" />
        public async ValueTask ClearAsync()
        {
            IAsyncDisposable objLocker = await LockObject.EnterWriteLockAsync().ConfigureAwait(false);

            try
            {
                _queData.Clear();
            }
            finally
            {
                await objLocker.DisposeAsync().ConfigureAwait(false);
            }
        }
コード例 #3
0
        /// <inheritdoc cref="Stack{T}.Clear"/>
        public async ValueTask ClearAsync()
        {
            IAsyncDisposable objLocker = await LockObject.EnterWriteLockAsync();

            try
            {
                _stkData.Clear();
            }
            finally
            {
                await objLocker.DisposeAsync();
            }
        }
コード例 #4
0
        public async ValueTask AddAsync(KeyValuePair <TKey, TValue> item, CancellationToken token = default)
        {
            IAsyncDisposable objLocker = await LockObject.EnterWriteLockAsync(token);

            try
            {
                token.ThrowIfCancellationRequested();
                _dicData.Add(item.Key, item.Value);
            }
            finally
            {
                await objLocker.DisposeAsync();
            }
        }
コード例 #5
0
        public async ValueTask <bool> AddAsync(T item)
        {
            IAsyncDisposable objLocker = await LockObject.EnterWriteLockAsync();

            try
            {
                return(_setData.Add(item));
            }
            finally
            {
                await objLocker.DisposeAsync();
            }
        }
コード例 #6
0
        public async ValueTask <bool> AddAsync(T item)
        {
            IAsyncDisposable objLocker = await LockObject.EnterWriteLockAsync();

            try
            {
                if (!_setData.Add(item))
                {
                    return(false);
                }
                _lstOrderedData.Add(item);
            }
            finally
            {
                await objLocker.DisposeAsync();
            }
            return(true);
        }