琉璃網站
CommunityServer BlogEngine.Net 中文技術社群網站

依標籤瀏覽

  • 生產者 vs 消費者 - BlockQueue 實作

    過去寫了 好幾篇跟執行緒相關的文章 ,講的都是如何精確控制執行緒的問題。不過實際上有在寫的人就知道,那些只是 "工具",最重要的還是你該怎樣安排你的程式,讓它能有效率的用到執行緒的好處,那才是重點。大部份能有效利用到多執行緒的程式,大都是大量且獨立的小動作,可以很簡單的撒下去給ThreadPool處理,不過當你的程式沒辦法這樣切,就要想點別的辦法了。 開始看 code 前先講講簡單的概念。這篇要講的是另一種模式: "生產者 v.s. 消費者"。這是個很典型的供需問題...
  • Thread Sync #2. 實作篇 - 互相等待的兩個執行緒

    繼 上篇 , 有人 跟我講太深奧了... Orz, 其實不會,只是還沒看到 Code 而以...。就先來幫 黑暗魔人賽 說明一下程式碼...。首先來看的是黑暗大魔王: GameHost.. GameHost 呼叫 Player 的片段 [copy code] public void Start(Player p) { // 略... int[] guess = p.StartGuess(_maxNum, _digits); // 略... Hint hint = compare(guess); 讀取更多...
  • Memory Management (III) - .NET CLR ?

    續 [ 上篇 ] & [ 上上篇 ],同樣的問題,我改用 .NET 開發是不是就搞定了? 其實這篇才是我要寫的重點,只不過引言寫太高興,就是兩篇文章了,咳咳... 有人在問,為什麼我老是寫些冷門的文章? 沒辦法... 大家都在寫的東西我就沒興趣寫了,文筆沒別人好,網站沒別人漂亮,連範例程式都沒別人炫,只好挑些沒人寫的內容... 大部份討論這主題的文章,講的都是 GC, GC 的 generation,IDisposable,還有 Heap 等等,不過這些知識都無法直接回答這次問題。底下的例子你會發現...
  • Memory Management (II) - Test Result

    該來揭曉謎底了,在人氣不怎麼高的地方拋這些冷門的問題,看的我都覺的 "這版主真是不自量力" .. 咳咳.. 為了把之前的心得,在現在的主流作業系統及平台再驗證一次,只好自己花了點小工夫,把 C 挖出來寫個測試程式,不過 C / C++ 實在太久沒寫了,已經忘到連語法都得翻 HELP 的程度 :~ 花了些時間才搞定。 不過也因為這樣,連帶的查了一下如何編譯 x64 的程式碼,還有一些相關的設定項目。這次測試只測了 windows 的環境,沒辦法,這把年紀實在沒力氣再去摸第二種 OS...
  • Memory Management - (I). Fragment ?

    程式越寫, 越覺的課本教的東西很重要... 最近碰到一些記憶體管理的問題, 想到以前學 C 跟 OS 時, 大家都有個理想.. "只要 OS 支援虛擬記憶體, 以後寫 code 都不用耽心 Memory 不夠..." 聽起來很合理, 虛擬記憶體本來就是讓開發人員省事的機制啊... 當然前提不超過硬體限制, 像是 32 位元的程式就不能超過 4GB. Virtual Memory 也帶來很多好處. 除了可以以硬碟空間換取記憶體空間之外, 因為 swap 需要的 paging 機制...
Copyright 2010 琉璃網站 , 本站採用 CommunityServer 2008.5 為社群平台
Telligent 贊助台灣區 .Net DCP partner
各圖片與商標為各廠商所有,轉載本站圖文內容須需註明出處網頁