core 异步阻塞

            Console.WriteLine(DateTime.Now);
            CancellationTokenSource cancellationTokenSource = new CancellationTokenSource(TimeSpan.FromSeconds(10));
            CancellationToken stoppingToken = cancellationTokenSource.Token;

            try
            {
                Task.Factory.StartNew(async () =>
                {
                    Console.WriteLine("before");
                    await Task.Delay(Timeout.Infinite, stoppingToken);
                    Console.WriteLine("after");
                }, stoppingToken, TaskCreationOptions.LongRunning, TaskScheduler.Current)
                .Unwrap().Wait();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }

            Console.WriteLine(DateTime.Now);

可根据实际情况将Wait改为 async await

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容