第1章 定義線程
1.1 線程的定義
1.1.1 多任務
1.1.2 進程
1.1.3 線程
1.2 Visual Basic.NET對線程的支持
1.2.1 System.AppDomain類
1.2.2 線程管理與.NET運行庫
1.3 本章小結
第2章 .NET中的線程
2.1 System.Threading命名空間
2.1.1 Thread類
2.1.2 創(chuàng)建一個線程
2.1.3 ThreadStart委托和執(zhí)行分支
2.1.4 線程的屬性和方法
2.1.5 線程的優(yōu)先級
2.1.6 計時器和回調
2.1.7 使用線程調節(jié)線程
2.2 線程的生存期
2.2.1 使線程睡眠
2.2.2 中斷一個線程
2.2.3 暫停及恢復線程
2.2.4 破壞線程
2.2.5 連接線程
2.3 為什么線程不是萬能的
2.4 使用線程提供的機會
2.4.1 后臺進程
2.4.2 訪問外部資源
2.5 線程的陷阱
2.5.1 再次訪問的執(zhí)行順序
2.5.2 一個循環(huán)中的線程
2.6 本章小結
第3章 使用線程
3.1 為何擔心同步
3.1.1 同步臨界區(qū)
3.1.2 使賬戶對象不可改變
3.1.3 使用線程安全包裝器
3.2 .NET對同步的支持
3.3 .NET同步策略
3.3.1 同步上下文
3.3.2 同步代碼區(qū)
3.3.3 手控同步
3.3.4 同步和性能
3.4 小心死鎖
3.5 端到端的示例
3.5.1 編寫自己的線程安全包裝器
3.5.2 數(shù)據庫連接池
3.6 本章小結
第4章 設計模式
4.1 應用程序中的多線程
4.2 STA線程模式
4.3 MTA線程模式
4.3.1 指定線程模式
4.3.2 設計線程應用程序
4.3.3 線程和關系
4.4 本章小結
第5章 線程應用程序的伸縮
5.1 什么是線程池管理
5.1.1 需要線程池的情況
5.1.2 線程地的概念
5.2 CLR和線程
5.2.1 CLR在線程地管理中的角色
5.2.2 線程地管理中的問題
5.2.3 線程地的大小
5.3 ThreadPool類
5.4 VB.NET中的線程池編程
5.5 .NET中的可伸縮性
5.6 本章小結
第6章 調試與跟蹤線程
6.1 創(chuàng)建應用程序代碼
6.2 調試代碼
6.2.1 Visual Studio.NET調試器
6.2.2 逐步執(zhí)行代碼
6.2.3 設置斷點
6.2.4 調試線程
6.3 代碼跟蹤
6.3.1 System.Diagnostics.Trace類
6.3.2 使用不同的偵聽器應用程序
6.3.3 跟蹤開關
6.3.4 Debug類
6.4 DataImport示例
6.4.1 代碼
6.4.2 測試應用程序
6.4.3 邏輯錯誤
6.5 本章小結
第7章 聯(lián)網與線程
7.1 在.NET中的聯(lián)網
7.1.1 System.Net命名空間
7.1.2 System.Net.Sockets命名空間
7.2 創(chuàng)建范例應用程序
7.2.1 設計目標
7.2.2 構建應用程序
7.2.3 運行應用程序
7.3 本章小結
附錄