成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

聊聊Thread類線程常用操作

開發 前端
線程是通過擴展 Thread 類創建的。擴展的 Thread 類調用 Start() 方法來開始子線程的執行。

本文轉載自微信公眾號「UP技術控」,作者conan5566。轉載本文請聯系UP技術控公眾號。   

創建線程

線程是通過擴展 Thread 類創建的。擴展的 Thread 類調用 Start() 方法來開始子線程的執行。

下面的程序演示了這個概念:

  1. class ThreadCreationProgram 
  2.     { 
  3.         public static void CallToChildThread() 
  4.         { 
  5.             Console.WriteLine("Child thread starts"); 
  6.         } 
  7.         
  8.         static void Main(string[] args) 
  9.         { 
  10.             ThreadStart childref = new ThreadStart(CallToChildThread); 
  11.             Console.WriteLine("In Main: Creating the Child thread"); 
  12.             Thread childThread = new Thread(childref); 
  13.             childThread.Start(); 
  14.             Console.ReadKey(); 
  15.         } 
  16.     } 

當上面的代碼被編譯和執行時,它會產生下列結果:

  1. In Main: Creating the Child thread 
  2. Child thread starts 

管理線程

Thread 類提供了各種管理線程的方法。

下面的實例演示了 sleep() 方法的使用,用于在一個特定的時間暫停線程。

  1. class ThreadCreationProgram 
  2.     { 
  3.         public static void CallToChildThread() 
  4.         { 
  5.             Console.WriteLine("Child thread starts"); 
  6.             // 線程暫停 5000 毫秒 
  7.             int sleepfor = 5000; 
  8.             Console.WriteLine("Child Thread Paused for {0} seconds"
  9.                               sleepfor / 1000); 
  10.             Thread.Sleep(sleepfor); 
  11.             Console.WriteLine("Child thread resumes"); 
  12.         } 
  13.         
  14.         static void Main(string[] args) 
  15.         { 
  16.             ThreadStart childref = new ThreadStart(CallToChildThread); 
  17.             Console.WriteLine("In Main: Creating the Child thread"); 
  18.             Thread childThread = new Thread(childref); 
  19.             childThread.Start(); 
  20.             Console.ReadKey(); 
  21.         } 
  22.     } 

當上面的代碼被編譯和執行時,它會產生下列結果:

  1. In Main: Creating the Child thread 
  2. Child thread starts 
  3. Child Thread Paused for 5 seconds 
  4. Child thread resumes 

銷毀線程

Abort() 方法用于銷毀線程。

通過拋出 threadabortexception 在運行時中止線程。這個異常不能被捕獲,如果有 finally 塊,控制會被送至 finally 塊。

下面的程序說明了這點:

  1. class ThreadCreationProgram 
  2.     { 
  3.         public static void CallToChildThread() 
  4.         { 
  5.             try 
  6.             { 
  7.  
  8.                 Console.WriteLine("Child thread starts"); 
  9.                 // 計數到 10 
  10.                 for (int counter = 0; counter <= 10; counter++) 
  11.                 { 
  12.                     Thread.Sleep(500); 
  13.                     Console.WriteLine(counter); 
  14.                 } 
  15.                 Console.WriteLine("Child Thread Completed"); 
  16.  
  17.             } 
  18.             catch (ThreadAbortException e) 
  19.             { 
  20.                 Console.WriteLine("Thread Abort Exception"); 
  21.             } 
  22.             finally 
  23.             { 
  24.                 Console.WriteLine("Couldn't catch the Thread Exception"); 
  25.             } 
  26.  
  27.         } 
  28.         
  29.         static void Main(string[] args) 
  30.         { 
  31.             ThreadStart childref = new ThreadStart(CallToChildThread); 
  32.             Console.WriteLine("In Main: Creating the Child thread"); 
  33.             Thread childThread = new Thread(childref); 
  34.             childThread.Start(); 
  35.             // 停止主線程一段時間 
  36.             Thread.Sleep(2000); 
  37.             // 現在中止子線程 
  38.             Console.WriteLine("In Main: Aborting the Child thread"); 
  39.             childThread.Abort(); 
  40.             Console.ReadKey(); 
  41.         } 
  42.     } 

當上面的代碼被編譯和執行時,它會產生下列結果:

  1. In Main: Creating the Child thread 
  2. Child thread starts 
  3. In Main: Aborting the Child thread 
  4. Thread Abort Exception 
  5. Couldn't catch the Thread Exception 

 

責任編輯:武曉燕 來源: UP技術控
相關推薦

2021-06-29 07:04:16

Sed常用操作

2024-05-16 12:51:15

WinForms線程UI

2009-06-29 17:54:10

Java多線程Thread類創建線程

2020-12-28 08:03:26

多線程進程瀏覽器

2021-11-26 00:02:00

模式正則修飾符

2020-09-08 15:14:51

線程 APIs周期

2023-04-02 17:53:10

多線程編程自測

2023-09-01 08:59:57

2023-08-30 07:45:28

Python管理安全性

2021-05-10 16:27:01

μCOSFreeRTOS

2022-02-07 11:55:00

linux進程線程

2024-05-27 00:27:59

WinForm線程應用程序

2020-02-26 15:12:43

線程池增長回收

2009-01-04 11:55:09

Java數組Java常用工具Java類

2021-08-16 06:56:21

Slice數組類型內存

2009-08-04 17:08:12

C# Thread類

2024-04-17 09:52:00

操作系統多線程內存

2024-03-12 13:11:20

powerjob單機線程

2009-08-18 15:31:07

C# 操作Excel

2021-03-24 09:37:41

數據類型數據分析數據的分類
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久夜色精品国产 | 国产精品中文字幕在线 | 成人欧美一区二区三区黑人孕妇 | 成人在线视频一区 | 欧美久久久久久久久中文字幕 | 亚洲顶级毛片 | 亚洲欧洲色视频 | 中文字幕成人 | 91一区二区三区在线观看 | 日韩成人久久 | 国产一区 日韩 | 国产精品免费一区二区三区四区 | 国产精品一区久久久久 | 欧美特级黄色 | 久草精品视频 | 国产欧美精品一区二区三区 | 色av一区二区| 成人精品区 | 日韩中文字幕 | 国产精品一卡 | 久久久高清 | 亚洲一区播放 | av一区二区三区在线观看 | 国产一级片网站 | 亚洲国产精品一区二区第一页 | 国产女人与拘做受视频 | 国产精品高 | 欧美精品中文字幕久久二区 | 9999视频| 久久久久久久久久久久久久国产 | xx视频在线观看 | 永久精品 | 中文字幕亚洲一区二区va在线 | 日韩第一区 | 亚洲91精品| 中文字幕在线精品 | 在线看日韩 | 亚洲国产精品一区 | 视频一区在线观看 | 亚洲视频二区 | 精品欧美一区二区三区 |