Thread系列——Thread.Join()

 Thread.Join()方法,顧名思義,在一個線程中加入一些東西。MSDN上解釋其作用為:阻塞 “調用線程” 直到某個線程結束。 這個翻譯過來的解釋有點晦澀。舉個例子如下:static void  Main(){     Thread t=new Thread(new ThreadStart(ThreadMethod));     t.Start();     t.Join();     Console.WriteLine("I am Main Thread");    

JavaScirpt系列——前記

雖然從大學期間就開始接觸JavaScript(下面簡稱JS),但是對她還是不甚瞭解。至於原因,很簡單,認為自己以後的技術方向也不會是前端開發沒有必要去探究太深。但是,隨著經驗的逐漸積累,我發現每次想要做個B/S平台時都會很糾結。糾結什麼呢,也很簡單,就是厭倦了過多伺服器端程式的編寫,想要儘可能的把用戶端能夠解決的問題直接放在用戶端上解決。  

使用DevComponents.DotNetBar導致的異常

在做C# WinForm開發時 一直都覺得.NET自身提供的控制群組合到一起的介面太難看 於是在leader的推薦下 使用了DevComponets.DotNetBar 這個庫裡提供了許多功能類似於.Net控制項功能的控制項  不過 有一點就是介面做的很好看 仿office的 之前用著一直沒有出現什麼異常 今天用到其中的ListViewEx 在視窗最小化的時候產生異常 異常如下 See the end of this message for details on invoking

僅允許程式運行一個執行個體代碼實現

有時候,我們可能會有這樣的需求,希望程式只運行一個執行個體。因為可能運行多個執行個體會導致某一些問題。初步想法:添加一個標誌變數,用來標誌是否有程式執行個體在運行。可能一下想到定義一個bool變數,這個想法沒錯,但是應該用什麼邏輯來表示這個bool變數的值呢?換句話說,應該在什麼情況下給bool變數true值呢?這又是個問題,所以單純的使用bool變數時行不通的,必須給它找個依託,於是我們還需要一個Mutex變數(一個訊號量),如果訊號量第一次建立,那麼bool變數為true,如果訊號已經存在,

ListView實現點擊列排序

當我們用ListView顯示資料時,有一種很人性化的設計便是單擊ListView某一列,該列則以升序或降序排列。  自己定義一個類繼承自IComparer介面  代碼如下:   Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->class ListViewSort:IComparer {private int col; private

DOTA版設計模式——橋接

橋接模式比較簡單,主要是運用了組合。UML圖:本文中我虛構了一些情境,大概在Dota中不常發生吧。Dota中有5個隊友,假如,我說的是假如,你的隊友西瓜吃多了想要去噓噓,但是現在是關鍵,他是團控,又不能為了勝利犧牲一條內褲加褲子吧。那我們只能共用單位了,現在你可以控制自己也可以控制去噓噓的隊友的英雄。點擊哪個英雄就控制哪個,在這裡就可以用到橋接了。上邊說到橋接是組合,首先英雄是不能缺少的,除非已經被對方送回泉水,還沒有重生,呵呵.......英雄來啦:   

DOTA版設計模式——建造者

建造者模式哦,提供了一系列的方法對產品進行處理,可以選擇其中的方法進行任意組合,不過要寫好建造者模式代碼需要有很強的業務知識哦。最後得到相應的產品就可以了。UML圖:UML圖可以看到Builder中包含產品的建造和擷取,Director嚮導來決定如何建造產品。對於Dota中Model的建造來說需要實現以下介面IBuilder,包括建立模型,增加名稱,設定技能,貼圖。這裡沒有列舉全有興趣的同學可以自行補充完整。    internal interface IBuilder    {        

線程——前台與後台

C#中的線程分為兩類:前台線程與後台線程後台線程——不會阻止進程結束;所有前台線程結束之後,後台線程無論執行完否都會被強制結束前台線程——相反就會阻止線程結束 程式碼範例:1.1 在winform中,存在一個主介面線程,我另起一個線程作為後台線程,這裡通過設定新線程的IsBackground屬性來改變線程的類別 代碼Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.

Thread系列——Thread.Sleep(0)

線程這一概念,可以理解成進程中的一個小單元。這個單元是一個獨立的執行單元,但是與進程中的其他線程共用進程中的記憶體單元。由於Cpu資源是有限的,所以進程中的多個線程要搶佔Cpu,這也導致進程中的多個線程交替執行。 Thread.Sleep() 本身的含義是當前線程掛起一定時間。Thread.Sleep(0) MSDN上的解釋是掛起此線程能使其他等待線程執行。這樣的解釋容易導致誤解,我們可以這樣理解,其實是讓當前線程掛起,使得其他線程可以和當前線程再次的搶佔Cpu資源。程式碼範例:代碼Code

Thread系列——ThreadPool

1.線程池,顧名思義,就是裝著若干個線程的池子。2.出現理由    可以更為有效使用線程。    如何理解這個“有效”?     (1)我們知道線程在使用之前一般是處於休眠狀態的,這樣浪費了大量資源建立它,但是卻沒有使用它,真的是浪費資源。     (2)使用線程時,線程之間的切換也會浪費大量資源。   而線程池,就是為了避免上述兩個問題,從而更為有效利用資源來完成線程之間的調度進而完成工作。3.線程池工作原理        如所示,線程池中維護著若干空閑進程,空閑線程的個數預設為每個處理器25

設計模式外傳——NULL OBJECT模式

NULL OBJECT看著這個名字應該有一個籠統的印象了。翻譯成中文就是“Null 物件”。假如我們要使用一個剛剛獲得的對象的方法,首先需要檢查一下該對象是否等於null,因為等於null的話調用方法會報未執行個體化異常,可是這樣的寫法很醜,如下所示:MM mm = Money.GetMM();mm.Smile();   //注意如果GetMM方法未找到MM就會返回一個null,那麼mm.Smile();就會報異常了。為瞭解決這個問題我們一般是這樣處理:MM mm = Money.GetMM()

CCNet Sidekick開源發布

由於公司需要,也因為個人對OSS的喜愛,CCNet Sidekick在CodePlex發布:http://ccnetsidekick.codeplex.com/並不包含所有Element,但是Infrastructure已經ready,可以方便的擴充,並支援模板自訂。The sidekick of CruiseControl.NetThis sidekick of CCNet will help you to complete the configuration, I provide the

Thread系列——ManualResetEvent

ManualResetEvent 用於線程同步,通知一個或多個線程某事件已經發生。通常用於一個線程執行的任務必須在其他線程的任務執行之前完成。 ManualResetEvent狀態分為兩種:終止狀態和非終止狀態。當某一任務完成時,將ManualResetEvent設定為終止狀態,這樣其他等待的線程(一個或多個)將開始執行自己的任務。 注意:一旦它被終止,它將保持終止狀態,直到它被手動重設。 程式碼範例: 代碼Code highlighting produced by Actipro

Thread系列——AutoResetEvent

AutoResetEvent也是一個同步對象,它用於對資源的獨佔訪問。當AutoResetEvent處於終止狀態時,如果存在等待的線程,則在該線程執行後,AutoResetEvent變數將自動變為非終止狀態。 程式碼範例:  代碼Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> class Program {static void

Thread系列——WaitHandle

在討論WaitHandle類之前 我們先看一張MSDN上給的繼承關係圖:  紅色框指出的部分,就是這篇文章要討論的WaitHandle類,綠色框指出的部分就是本文提到的一些非同步對象。可以看到,非同步對象的父類就是WaitHandle非同步對象如AutoResetEvent和ManualResetEvent定義了一種訊號機制,這種機制用來表明是訪問共用資源還是釋放共用資源。 1. WaitHanle類MSDN上的定義    

關於在Firefox和ie瀏覽器中,div顯示不正常和或者margin與position定位不正常的簡單解決辦法

各位做網站的朋友們通常都可能會出現我題目中所說的問題的話,要用太著急。以下我說一下我的做法吧。非常簡單。先建議大家用Firefox來測試網頁的相容性,等所以都安排好了,我們就開始下面的步驟,前提是你的網頁都是在Firefox上完成的,而且已經相容很好了。另外說下搜狗瀏覽器也是ie核心的,可能會有部分ul-li,span

將IP地址與Int轉換

 有時會碰到這樣的需求,需要將IP地址轉換為整數存放,在讀取時再轉換為IP地址格式1、將IP字串轉換為整型儲存代碼如下: string address;int intAddress;string ipAddress;while ((address = Console.ReadLine()) != "\\0") {//將IP地址轉換為位元組數組 byte[] IPArr = IPAddress.Parse(address).

如何在安裝過程中部署DevExpress控制項

在我的Winform開發架構或者WCF開發架構中,均提供多種介面樣式選擇,其中有一種就是介面效果比較好的DevExpress控制項介面樣式,但是我們一般在開發環境中使用,安裝包的大小都很大,100多M,那麼我們在部署到用戶端應用的時候,該如何操作呢?我們分析DevExpress的特殊補丁發現,他們是一個DOS批次檔,主要是建立相應的目錄,然後把DevExpress的三個特殊檔案複製到對應的目錄中,就可以實現DevExpress的正常使用了。那個DOS批次檔內容如下所示。一般我們部署用戶端應用的時

MSSQL擷取當前日期及格式

select getdate()--擷取完整日期 具體到毫秒         2012-02-15 11:41:24.903select convert(varchar,getdate(),120) --具體到秒  2012-02-15 11:46:04select convert(varchar,getdate(),121)             2012-02-15 11:46:43.810select convert(nvarchar,getdate(),20)            

針對—— “一個非常簡單易用而且相容非常好的下拉式功能表” 的隨筆對部分瀏覽器不相容的修改

下面先是Style css的代碼。只是修改和增加了部分css,對有些瀏覽器的不相容,我做了重新的定位 View css <style type="text/css">*{margin:0px; padding:0px;}/*將所有標籤的預設邊距等全置為零*/  #posi{  /*這個是我們新增的一個div,用來將所有的ul li包起來,對導航條的絕對位置,只要是方便移動*/position:absolute;top:60px;left:60px;width:60px;}#main_

總頁數: 61357 1 .... 5750 5751 5752 5753 5754 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.