首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

多執行緒在 Visual C# 網路程式設計中的應用(一):Thread 類別核心 API 與網路程式引入多執行緒動機

     編輯:關於C語言

為何網路程式離不開多執行緒?

  • 網路操作頻繁遇到 **阻塞** (等待連線、等待資料、DNS 查詢)
  • 單執行緒阻塞導致 UI 凍結、回應遲鈍、錯誤率上升
  • 將阻塞操作移至背景執行緒,主執行緒保持 UI 回應,大幅提升使用者體驗與系統吞吐量

執行緒是雙面刃:濫用會造成資源洩漏、競爭條件、程式掛起。若邏輯本身足夠快,**不建議強行引入多執行緒**。

Thread 類別核心建構式


public Thread(ThreadStart start);
  • ThreadStart:無參數、無回傳值委派,指向執行緒進入點方法

Thread 常用方法表

方法說明
Abort()請求終止執行緒,拋出 ThreadAbortException
Interrupt()喚醒處於 WaitSleepJoin 狀態的執行緒
Join()阻塞呼叫端直到該執行緒結束
ResetAbort()取消目前的 Abort 請求
Resume()恢復已 Suspend 的執行緒 (已過時)
Sleep(ms)當前執行緒休眠指定毫秒
Start()將執行緒狀態轉為 Running,開始執行
Suspend()掛起執行緒 (已過時,不建議使用)

Thread 常用屬性表

屬性說明
CurrentCulture取得/設定執行緒文化特性
CurrentThread靜態屬性,取得目前執行緒參考
IsAlive執行緒是否仍在執行
IsBackground是否為背景執行緒 (主程式結束時自動終止)
Name執行緒名稱 (除錯用)
Priority排程優先權 (Lowest ~ Highest)
ThreadState執行緒狀態旗標組合

本系列實驗環境

  • Windows 2000 Server
  • Visual Studio .NET 2002 RTM / .NET Framework SDK 1.0 (3705)

系列規劃

  1. Thread API 基礎與動機 (本文)
  2. 單執行緒掃描器介面與實作
  3. 單執行緒效能基準測試
  4. 重構為多執行緒架構 (委派回呼)
  5. 多執行緒版完整實作與效能驗證
  6. 總結
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved