Beispiel #1
0
        static void Main(string[] args)
        {
            var serviceCollection = new ServiceCollection();

            serviceCollection.AddLogging();

            var serviceProvider         = serviceCollection.BuildServiceProvider();
            var loggerFactory           = serviceProvider.GetService <ILoggerFactory>();
            var cancellationTokenSource = new CancellationTokenSource();

            using (var exclusiveLock = new ExclusiveLock("localhost:2181", "/dlock-example", 5000, cancellationTokenSource.Token, loggerFactory.CreateLogger("dlock.console")))
            {
                var dlock = exclusiveLock.Wait().GetAwaiter().GetResult();

                Console.WriteLine(dlock);

                if (dlock.result)
                {
                    SpinWait.SpinUntil(() => dlock.cancellationToken.IsCancellationRequested);

                    Console.WriteLine("Releasing lock, cancellation requested");
                }
            }
        }