主页 > 知识库 > .net让线程支持超时的方法实例和线程在执行结束后销毁的方法

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

热门标签:电销机器人 数据 福州人工智能电销机器人加盟 云狐人工智能电话机器人 宿迁智能外呼系统排名 400电话办理信任翰诺科技 广州销售外呼系统定制 地图标注多少钱一张 怎样给陕西地图标注颜色 ai电销机器人对贷款有帮助吗


.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));
        }

这里采用了 Abort 终止了线程,CancellationTokenSource 也支持其它模式,可以去官方看看文档。

使用 Join

复制代码 代码如下:

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

            thread.Start();
            thread.Join(1000);
            thread.Abort();

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

.net让线程在执行结束后销毁

线程执行完、遇到未处理异常和被终止后就自动不可用了,如果是垃圾,自然会被 GC 给回收,有一点需要说明的是:线程的未处理异常会导致应用程序的终止,一个线程的异常不会自动冒泡到其它线程。

 

您可能感兴趣的文章:
  • 设置ASP.NET页面的运行超时时间详细到单个页面及站点
  • 登录超时给出提示跳到登录页面(ajax、导入、导出)
  • php设置页面超时时间解决方法
  • JS实现页面超时后自动跳转到登陆页面
  • php页面函数设置超时限制的方法
  • ajax提交session超时跳转页面使用全局的方法来处理
  • Asp.Net各种超时问题总结
  • Asp中Server.ScriptTimeOut属性需要注意的一点分析
  • 超过了脚本运行的最长时间..Server.ScriptTimeOut 属性指定新值
  • ASP.NET页面请求超时时间设置多种方法

标签:绵阳 新疆 宜春 黄南 大兴安岭 曲靖 延安 焦作

巨人网络通讯声明:本文标题《.net让线程支持超时的方法实例和线程在执行结束后销毁的方法》,本文关键词  .net,让,线程,支持,超时,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《.net让线程支持超时的方法实例和线程在执行结束后销毁的方法》相关的同类信息!
  • 本页收集关于.net让线程支持超时的方法实例和线程在执行结束后销毁的方法的相关信息资讯供网民参考!
  • 推荐文章