原创 [C#學習筆記之異步編程模式2]BeginInvoke和EndInvoke方法

      爲什麼要進行異步回調?衆所周知,普通方法運行,是單線程的,如果中途有大型操作(如:讀取大文件,大批量操作數據庫,網絡傳輸等),都會導致方法阻塞,表現在界面上就是,程序卡或者死掉,界面元素不動了,不響應了。異步方法很好的解決了這

原创 多態與設計模式之我的理解

        最近因爲開發一個項目的關係在研究《Head First設計模式》,想從中找到一些靈感,雖然之前也看過,但是每次學習,都會有新的理解和感悟,非常感謝作者提供了這樣一本讓我受益匪淺的書!         面向對象程序設計(注意

原创 使用剪貼板保存自定義對象

技術要點: 放置到剪貼板上的對象必須是可序列化的。 剪貼板接收一個實現了IDataObject接口的對象,可以用此對象“包裝”具體的數據對象。 可以多次調用IDataObject. SetData方法將多種類型的對象複製到剪貼板中。在獲取

原创 Android4.0源碼編譯方法以及錯誤解決方案

    歷時一個星期,終於將android4.0源碼編譯成功,中間經歷了各種曲折,非常之蛋疼,現在將編譯方法共享一下:      Android源碼編譯步驟: (基於ubuntu11.10和android4.0) 1.   安裝JDK 2

原创 [C#學習筆記之異步編程模式3]異步下載web網頁

這是對上篇博文提到的IAsyncResult異步調用模式的一個實例應用,所用到的知識有: 通過異步回調函數實現異步操作通過類實現給異步回調函數傳遞附加信息在子線程中通過異步回調的方式通知主線程執行結果WebRequest和WebResp

原创 C#內存映射文件學習

        內存映射文件是由一個文件到進程地址空間的映射。         C#提供了允許應用程序把文件映射到一個進程的函(MemoryMappedFile.CreateOrOpen)。內存映射文件與虛擬內存有些類似,通過內存映射文件

原创 [ACM]圖形編輯器

原題見:http://acm.uva.es/p/v102/10267.html 背景 圖形編輯器(graphical editor)允許用戶改變位圖圖像,比如大家經常用到的Photoshop。它所採用的改變方法和文本編輯器允許修改文檔

原创 [ACM]穿越矩陣

現在有一個 m * n 的整數矩陣,請你編寫一個程序計算出一條從左到右穿過矩陣的路徑,並使此路徑的費用最小。路徑從矩陣的左側的第一列的任意單元格開始,逐步穿過矩陣到達最右側的一列的任意單元格。每一步是指從某單元格進入它一列的相鄰單元格(

原创 [ACM] Where's Waldorf?

Background Given an m by n grid of letters and a list of words, find the location in the grid at which the word can be

原创 [ACM]孤獨的運貨員

背景 航空公司的貨運飛機往返於各個國家和貨物分理中心之間,分理中心的貨物運送到各個國家,再將各個國家發出的貨物送到分理中心。 分理中心非常龐大,每個國家都有一個自己的貨運站,每個貨運站有兩個平臺用於堆放貨物。其中 A 平臺用於堆放運送到

原创 [ACM]切木頭

背景 人們需要把一跟很長的木頭切成幾段,有一家名爲 Analog Cutting Machinery (ACM) 的公司正在經營這一業務。他們根據切割前木頭的長度來收費,木頭越長、收費越高,並且每切割一次就收一次費。 顯而易見,在這裏切

原创 Android如何打開/關閉系統解鎖服務?—典型錯誤分析

最近正在做一個Android的解鎖應用,需要屏蔽系統解鎖,並在適當的時候打開系統解鎖,在網上search了很多有關係統解鎖的資料,學到了很多關於系統解鎖方面的知識,同時也發現了很多網友犯下的一個共同的錯誤。現分享一下:       錯誤一

原创 [C#學習筆記之異步編程模式1]瞭解同步與異步

同步執行 程序執行的流程是按照語句順序執行,一句執行完再執行下一句,如果遇到函數調用,要等到函數調用返回以後纔會執行下一句——這就是“程序的同步執行模式”。 例 1: using System.Threading; using Syst

原创 動態規劃學習之三種方法解決斐波拉契數

斐波拉契數是一個很經典的問題,也會很多公司面試的考題,每個學習計算機的同學都會接觸這個問題,尤其是在學習遞歸的時候,利用遞歸來解決斐波拉契數是很多教材採用的一個例子,所以很多同學一想到斐波拉契馬上就會採用遞歸,遞歸貌似簡單,但是效率真的很

原创 [C#學習筆記之多線程1]使用ParameterizedThreadStart委託向線程函數傳送參數

在不傳遞參數情況下,一般大家都使用ThreadStart代理來連接執行函數,ThreadStart委託接收的函數不能有參數,也不能有返回值。如果希望傳遞參數給執行函數,則可以使用帶參數的ParameterizedThreadStart委託