.net让线程支持超时的方法实例和线程在执行结束后销毁的方法

前端技术 2023/09/03 .NET


.net让线程支持超时

使用 CancellationTokenSource

复制代码 代码如下:

private static void TimeoutTest1()
        {
            var cts = new CancellationTokenSource();

            var thread = new Thread(() =>
            {
                Console.WriteLine(String.Format(\"线程{0}执行中\", Thread.CurrentThread.ManagedThreadId));
                Thread.Sleep(10000);
                Console.WriteLine(String.Format(\"线程{0}执行中\", Thread.CurrentThread.ManagedThreadId));
            });

            cts.Token.Register(() =>
            {
                thread.Abort();
            });
            cts.CancelAfter(1000);

            thread.Start();
            thread.Join();

            Console.WriteLine(String.Format(\"线程{0}的状态:{1}\", thread.ManagedThreadId, thread.ThreadState));
        }

本文地址:https://www.stayed.cn/item/6608

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。