原文:C# 線程手冊 第四章 線程設計原則 線程及線程間關系

一個多線程應用程序中的線程彼此間可能關聯也可能不關聯。例如,在每個程序中都有一個用來生成其他子線程的主線程,所以主線程就成了所有其他線程的控制器。在一個多線程應用程序中有三種常用方法來定義線程間的關系: . 主線程和工作線程模型 . 對等線程模型 . 管道線程模型 我們將詳細討論每一個模型,借助一些代碼來使你能夠知道如何在自己的程序中實現它們。 主線程和工作線程模型 這是最常見的線程模型也是到目 ...

2012-03-05 21:05 5 1808 推薦指數:

查看詳情

C# 線程手冊 第四章 線程設計原則 MTA 線程模型

一個STA和一個MTA線程單元最大的不同是再同一個線程單元中可以有多個線程運行並可以使用所有共享數據。如圖2所示。 圖 2 由於MTA線程模型支持多線程並發執行,所以處理多線程全局數據的同步問題就變成了調用方的事情了。關於同步問題我們已經在上一描述過。 確定線程模型 可以使 ...

Mon Mar 05 05:53:00 CST 2012 2 2915
C# 線程手冊 第四章 線程設計原則

概述 大多數可擴展系統是具有高度並發性的,這意味着可能存在多個針對同一個對象的並發請求。實現一個既具有高並發性又具有線程安全性的代碼是一個很大的挑戰,因為這意味着當多個線程訪問共享數據時,不會發生數據崩潰或者不一致的情況。 如果我們借助一個正式的線程模型使用多線程技術,我們可以寫出 ...

Tue Feb 21 04:23:00 CST 2012 2 3195
C# 線程手冊 第一 線程定義 線程

你也會注意到任務管理器中有CPU使用率的信息。這是因為進程也有一個使用計算機處理器的執行順序。這個執行順序就是線程。這個線程由CPU上正在使用的寄存器,線程使用的堆棧以及保存線程當前狀態的存儲器共同定義。存儲器和堆棧的概念對那些經常處理底層內存分配的同僚們來說應該很熟悉;然而,對.NET ...

Wed Jan 04 22:54:00 CST 2012 7 4611
C# 線程手冊 第二 .NET 中的線程 線程的生命周期

當一個線程計划執行時它可以經過幾個狀態,包括未開始,活躍,睡眠,等等。線程類包含幾個允許你啟動、停止、恢復、退出、暫停以及等待一個線程的方法。我們可以使用ThreadState屬性來獲取線程的當前狀態,狀態值可能是ThreadState枚舉中的一個: Aborted - 線程當前處理停止狀態 ...

Mon Jan 16 05:51:00 CST 2012 22 7045
C# 線程手冊 第二 .NET 中的線程 終止/等待線程

Abort()方法可以用來終止當前線程。不論何種情況下你想終止線程,比如線程執行了太長時間或者用戶取消了之前的決定,Abort()方法都很重要。在一個花費很長時間的搜索進程中你可能想使用這個方法。一個搜索引擎可能在繼續運行但是用戶已經看到了他們想要的結果,所以用戶會終止搜索引擎所運行的線程。當在 ...

Tue Jan 17 06:53:00 CST 2012 5 9422
C# 線程手冊 第二 .NET 中的線程 創建一個線程

我們將寫一個簡單的例子。對於我們為什么使用一個新的線程來說這不是一個好例子但是它將我們稍后要提到的復雜問題都去掉了。創建一個simple_thread.cs文件並把下面的代碼粘貼進去: /************************************* /* Copyright (c ...

Wed Jan 11 04:58:00 CST 2012 5 7733
C# 線程手冊 第二 .NET 中的線程 線程的優勢

額,我猜你現在可能會這么想“既然線程會對我的程序產生負面影響,那么我為什么要使用它呢?”。其實問題的關鍵不在於到底用不用線程,而在於何時何地使用線程。知道在什么情況下應該使用線程是好的設計決策的核心。使用線程有兩個不同的優勢。在這一部分,我們將討論這兩個優勢是什么。 后台處理邏輯 第一個使用 ...

Wed Jan 18 05:06:00 CST 2012 3 2744
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM