会员登录 - 用户注册 - 设为首页 - 加入收藏 - 网站地图 聊聊Thread类线程常用操作!

聊聊Thread类线程常用操作

时间:2025-11-05 06:31:57 来源:益强数据堂 作者:人工智能 阅读:887次

本文转载自微信公众号「UP技术控」,聊聊类线作者conan5566。程常转载本文请联系UP技术控公众号。用操   

创建线程

线程是聊聊类线通过扩展 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();         }     } 

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

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  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("Couldnt 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 Couldnt catch the Thread Exception 

(责任编辑:系统运维)

推荐内容
  • 手机信号满格却无法连接网络的解决方法(遇到手机信号满格但无法上网的情况?试试这些方法!)
  • TCP 三次握手和四次挥手的面试题(2023最新版)
  • 购买已注册的域名有哪些方法?
  • 数字域名的行情怎么样?
  • 装机新手必看!以装机盘为工具的装机教程大揭秘!(教你一步步轻松装机,让电脑焕然一新!)
  • 很多人不懂域名怎么办?注册域名怎么做?