iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > html >Thread类线程常用操作有哪些
  • 851
分享到

Thread类线程常用操作有哪些

2024-04-02 19:04:59 851人浏览 薄情痞子
摘要

本篇文章为大家展示了Thread类线程常用操作有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。创建线程线程是通过扩展 Thread 类创建的。扩展的 Threa

本篇文章为大家展示了Thread类线程常用操作有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

创建线程

线程是通过扩展 Thread 类创建的。扩展的 Thread 类调用 Start() 方法来开始子线程的执行。

下面的程序演示了这个概念:

class ThreadCreationProgram     {         public static void CallToChildThread()         {             Console.WriteLine("Child thread starts");         }                 static void Main(string[] args)         {             ThreadStart childref = new ThreadStart(CallToChildThread);             Console.WriteLine("In Main: Creating the Child thread");             Thread childThread = new Thread(childref);             childThread.Start();             Console.ReadKey();         }     }

当上面的代码被编译和执行时,它会产生下列结果:

In Main: Creating the Child thread Child thread starts

管理线程

Thread 类提供了各种管理线程的方法。

下面的实例演示了 sleep() 方法的使用,用于在一个特定的时间暂停线程。

class ThreadCreationProgram     {         public static void CallToChildThread()         {             Console.WriteLine("Child thread starts");             // 线程暂停 5000 毫秒             int sleepfor = 5000;             Console.WriteLine("Child Thread Paused for {0} seconds",                               sleepfor / 1000);             Thread.Sleep(sleepfor);             Console.WriteLine("Child thread resumes");         }                 static void Main(string[] args)         {             ThreadStart childref = new ThreadStart(CallToChildThread);             Console.WriteLine("In Main: Creating the Child thread");             Thread childThread = new Thread(childref);             childThread.Start();             Console.ReadKey();         }     }

当上面的代码被编译和执行时,它会产生下列结果:

In Main: Creating the Child thread Child thread starts Child Thread Paused for 5 seconds Child thread resumes

销毁线程

Abort() 方法用于销毁线程。

通过抛出 threadabortexception 在运行时中止线程。这个异常不能被捕获,如果有 finally 块,控制会被送至 finally  块。

下面的程序说明了这点:

class ThreadCreationProgram     {         public static void CallToChildThread()         {             try             {                  Console.WriteLine("Child thread starts");                 // 计数到 10                 for (int counter = 0; counter <= 10; counter++)                 {                     Thread.Sleep(500);                     Console.WriteLine(counter);                 }                 Console.WriteLine("Child Thread Completed");              }             catch (ThreadAbortException e)             {                 Console.WriteLine("Thread Abort Exception");             }             finally             {                 Console.WriteLine("Couldn't catch the Thread Exception");             }          }                 static void Main(string[] args)         {             ThreadStart childref = new ThreadStart(CallToChildThread);             Console.WriteLine("In Main: Creating the Child thread");             Thread childThread = new Thread(childref);             childThread.Start();             // 停止主线程一段时间             Thread.Sleep(2000);             // 现在中止子线程             Console.WriteLine("In Main: Aborting the Child thread");             childThread.Abort();             Console.ReadKey();         }     }

当上面的代码被编译和执行时,它会产生下列结果:

In Main: Creating the Child thread Child thread starts 0 1 2 In Main: Aborting the Child thread Thread Abort Exception Couldn't catch the Thread Exception

上述内容就是Thread类线程常用操作有哪些,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网html频道。

--结束END--

本文标题: Thread类线程常用操作有哪些

本文链接: https://www.lsjlt.com/news/83409.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作