注:本文中出現的代碼均在.Net Framework RC3環境中運行通過一.多線程的概念Windows是一個多任務的系統,如果你使用的是Windows 20
二.操縱一個線程任何程序在執行時,至少有一個主線程,下面這段小程序可以給讀者一個直觀的印象://SystemThread.csusing System;usi
在這裡我們要注意的是其它線程都是依附於Main()函數所在的線程的,Main()函數是C#程序的入口,起始線程可以稱之為主線程,如果所有的前台線程都停止了,那
.線程的同步和通訊——生產者和消費者假設這樣一種情況,兩個線程同時維護一個隊列,如果一個線程對隊列中添加元素,而另外一個線程從隊列中取用元素,那麼我們稱添加元
而多線程公用一個對象時,也會出現和公用代碼類似的問題,這種問題就不應該使用lock關鍵字了,這裡需要用到System.Threading中的一個類Monito
下面定義生產者CellProd和消費者類CellCons,它們都只有一個方法ThreadRun(),以便在Main()函數中提供給線程的ThreadStart
四、線程池和定時器——多線程的自動管理在多線程的程序中,經常會出現兩種情況。一種情況下,應用程序中的線程把大部分的時間花費在等待狀態,等待某個事件發生,然後才
程序中有些小地方應該引起我們的注意。SomeState類是一個保存信息的數據結構,在上面的程序中,它作為參數被傳遞給每一個線程,你很容易就能理解這個,因為你需
在當前一個項目中,需要計算字符串的長度,並將固定長度字符截下來,其中漢字要按2個字符計算,數字與字母按1個字符計算,沒有找到現成的函數可以使用,參考 如何得到
面這段程序演示了Timer類的用法。 using System; using System.Threading; class TimerExampleS
、互斥對象——更加靈活的同步方式有時候你會覺得上面介紹的方法好像不夠用,對,我們解決了代碼和資源的同步問題,解決了多線程自動化管理和定時觸發的問題,但是如何控
AOP的兩個應用:實體集更新(DateEntityListUpdate)、延遲加載(LazyLoad)(下)LazyLoadableSink類//******
AOP的兩個應用:實體集更新(DateEntityListUpdate)、延遲加載(LazyLoad)(上)在FaibClass.Data中,有兩個AOP的應
EntityListUpdatableProperty類//*************************************************
、延遲加載(LazyLoad)沒有仔細研究過其他框架的延遲加載是怎麼實現的,自己還是基於.Net的消息機制做了這個功能。LazyLoadableAttribu
一、命名空間嵌套上一節中講到命名空間在類的對象實例化的過程中可以防止類的沖突,如果兩個類名一樣的類包含在兩個不同的命名空間中,那麼在實例對象的創建的時候系統就
一. namespace-命名空間在C#中命名空間有很大的作用,它指明了你所用到的類來自哪個命名空間中,例如Mail類在命名空間using System.Ne
一、Assembly1.創建一個應用程序域application domainAppDomain d = AppDomain.CreateDomain(MyD
一. C#數組的屬性一維數組和多維(二維以上)的數組的屬性和方法都是差不多的,主要是在數組的方法上有些參數的不一致,現在我們先看下一維數組的有關屬性;int[
一. DateTime在C#中,系統提供了許多關於時間處理的函數,我們可以通過System.DateTime.Now獲取系統時間.當然也可以用DateTime