using Microsoft.AspNetCore.DataProtection.KeyManagement; using Newtonsoft.Json.Linq; using System.Collections.Concurrent; namespace ManagementApp.AServices.ThreadManage { public class ConcurrentDictionaryThread: IConcurrentTasks, IConcurrentTasks { private readonly ConcurrentDictionary> listTask; public ConcurrentDictionaryThread() { this.listTask = new ConcurrentDictionary> (); } public async ValueTask Add(Func value) { throw new NotImplementedException(); } public async ValueTask Add(T key, Func value) { return await Task.Run(() => { return listTask.TryAdd(key, value); }) ; } public async ValueTask> Last(CancellationToken cancellationToken) { return await Task>.Run(() => { var d = listTask.Last(); listTask.TryRemove(d); return d.Value; }); } public async ValueTask> First(CancellationToken cancellationToken) { return await Task>.Run(() => { var d = listTask.First(); listTask.TryRemove(d); return d.Value; }); } public async ValueTask> Search(T key, CancellationToken cancellationToken) { throw new NotImplementedException(); } public async ValueTask> Update(T key, CancellationToken cancellationToken, Func value) { throw new NotImplementedException(); } } }