Esempio n. 1
0
        public async Task <Sema> GetLockObject(string topic)
        {
            lock (locks)
            {
                if (!locks.ContainsKey(topic))
                {
                    locks.Add(topic, new SemaphoreSlim(1, 1));
                }
            }

            var sema = new Sema(locks[topic]);

            await sema.Wait();

            return(sema);
        }