某日在網路上爬文, 看到了臉書社團 這個網址 中有許多人正在熱烈討論關於如何使用 Parallel.For 這個方法來做到平行執行一萬次 Thread.Sleep(5000) 需求。 這是一個很有趣的題目,看到大家在這個串列中盡情抒發自己的意見,表達各種看法,但是卻沒有人可以正確地說明如何做到提問者想要解決的問題, 計算機科學領域沒有這麼模稜兩可與複雜,只要有著正確的觀念與技巧, 都可以解釋當時發生了什麼問題,以及使用正確的方法來解決這些問題,然而,大家似乎無法透過這些討論內容來得到任何技能與知識提升的效果。
很早以前就想要寫本關於 .NET / C# 平行程式設計 方面的書籍,不過這方面的內容相當的多與繁雜,之前已經針對這些內容整理與設計出四個階段的教育訓練課程與超過上百個講解與練習範例專案,因此,就逐一根據這個討論串列中各個人所提出的講法,設計不同的範例程式碼,而我只是想單純做個簡單的學術研究,並且將這些範例程式碼設計彙整成為一份教學課程簡報。
原本只是想針對 Parallel.For 這個題目設計一個簡單的快閃課程,有機會與大家一起來分享這些知識,但是在設計教學簡報的過程中,發現到有許多基礎的知識要能夠交代,才能夠順利解決某些問題,導致簡報內容越來越多,索性把這些過程與內容寫成一本書吧。
★★★★★【內容最紮實、應用最廣】【40個主題】★★★★★ ★★★★★【程式實例最多】【約1280個Python實例】★★★★★ ★★★★★【18大類Python潛在應用】★★★★★ ★★★★★【400個...
把你腦中的靈感發展成能通過市場考驗的遊戲 你所需要的遊戲製作知識全在這裡! 暢銷大作《戰神》、《小精靈世界》設計師心法傳授 手機遊戲已蔚為風...
這是一本帶領Xamarin.Forms 新手開發者,可以透過書中介紹的各種知識、開發技能,配合練習專案實作,快速地學會使用Xamarin.Forms 這個UI Toolkit 來進行跨平...
★★★最高CP值的免費AI工具一次收錄★★★ ★★★文字:不擅寫作?AI幫你寫詩寫文案★★★ ★★★繪圖:不會畫圖?用文字讓AI幫你繪圖★★★ ★★★視覺:不會描述圖片內容?AI...
作者早年在進行 Xamarin.Forms 專案開發與教學課程的時候,就習慣使用 Prism 這個開發框架類別庫,Prism 是一個開發框架,讓所開發的專案可以採用與開發出具...
覺得 Kubernetes 門檻太高?那你找對地方了! 從敬而遠之到心領神會~九大核心主題,由淺入深逐一擊破!
★★★★★【688張全彩圖例】+【圖解演算法原理和邏輯思維】★★★★★ ★★★★★【20個主題】+【220個Python程式實例】★★★★★ ★★★★★【邏輯思維】+【Python實作】=【演算法...
本書主要針對高中與大學開始接觸程式設計的初學者,及想學好C++11程式設計的讀者所設計。書中文字敘述力求淺顯簡潔,並以大量範例、片語、學習要點、風格要點...
本書適合想要學會各種 XAML 開發技巧的開發者,將會提供基本 XAML 知識與觀念,不同 XAML 項目的使用與應用的介紹
★超人氣暢銷演算法學習書全新增訂版!新增7種演算法詳細圖解+「資料壓縮」,內容增補修訂! ★全球超過250萬人使用,「Apple年度最佳APP」書籍化! ★隨書附贈...
——在日暢銷兩萬冊,獲頒日本「IT工程師書籍大獎2021特別獎」—— 演算法不只是知識,更該是解決問題的手段── 從理解演算法的設計技法、資料結構、圖演算法...
掌握容器原理,除錯更快速! 跟著實驗操作,帶你告別一知半解,深入了解 Container!
深度學習 最佳入門邁向AI專題實戰 ★★★★★【深度學習】★★★★★ ☆☆☆☆☆【理論】+【實作】☆☆☆☆☆ 這是目前市面上講解【深度學習(Deep Learning)】從基礎到應用最...
本書內容是關於 .NET 相依性注入(dependency injection;簡稱 DI)的相關議題。透過本書,您將會了解 DI 的基本概念以及相關的實務應用技術,並協助您設計出...
Python最強入門邁向頂尖高手之路 王者歸來 第二版 本書特色 本書第一版曾經榮登博客來、天瓏、Momo暢銷排行榜第一名 本書除了贈送全書1101個程式實例,...
★☆★☆★ 獨家解析知名大數據專案,FinMind,帶你一窺大數據產品的發展過程,打造專屬個人的大數據 Side Project、作品、產品 ★☆★☆★ 本書承襲第一版的精...
別因為你是一般上班族或從事其它服務業、餐飲業甚至是業農等等,就覺得寫 app 對你來說是一件不可能學會的事,甚至會覺得學程式是一種恐懼 ! 如果你真的那麼...
想跑好敏捷從 Jira 出發,本書將帶你踏上敏捷之路! 議題追蹤 × 自動化 × 外掛整合一次搞定
★★★★★【內容最廣】【技巧最全面】★★★★★ ★★★★★【33個主題】【832頁內容】【608個實例】★★★★★ ★★★★★【2600張Excel說明畫面】【170個圖表】★★★★★
☀科技來自於人性,讓程式設計回歸生活上的應用! ☀ 本書不只讓你學會Python,還要讓它「真正」進入你的日常生活!
著重JavaScript實戰應用與核心知識! 掌握一定要會的JavaScript面試致勝筆記!
在這本書裡面,會提供 6 個章節,將會討論到底下主題
* 我只是想做個簡單的學術研究
針對該討論串列內容與主要關鍵核心技術先行說明一番
* 了解 Parallel.For 執行順序
首先,先來了解 Parallel.For 是什麼,是要設計解決什麼問題
* Parallel.For 平行迴圈程式設計的指定平行工作數目上限特性
理解平行度,也就是在進行平行資料處理,原則上會把這些資料集和切割成不同區塊,交由不同的執行緒來執行緒
* 使用Parallel.For做到一萬次迴圈,實際需要花多少時間
將問題提問者提出的測試程式碼跑一次,就會知道提問者想要解決什麼問題了
* 重現造成記憶體不足情況
當提到記憶體不足,究竟說的是哪一個?Memory Overflow / Stack Overflow ,而造成的原因是什麼?
* Parallel.For 同時執行 10000 次迴圈,觀察用了多少執行緒
雖說 Parallel.For 可以提供資料平行處理能力,但是,究竟產生了多少執行緒來做到平行執行呢?
* Parallel.For 同時執行 200 次 要花多久時間與 用到多少執行緒
Parallel.For 平行迴圈一萬次僅用到 235 執行緒,那麼,若僅平行迴圈 200 次,會不會5秒就執行完畢
* 透過執行緒集區(預設參數)取得過多執行緒的使用情況
了解執行緒集區的預設執行方式
* 透過執行緒集區(修正參數)取得過多執行緒的使用情況
設定執行緒集區預設準備 500 個執行緒,看看執行結果
* 使用 new Thread 來自行產生 10000 個執行緒來使用
大家都說執行使用執行緒,效能會很好,那麼就來產生 10000 個執行緒來看看表現
* 了解同時使用 10000 個執行緒,這些執行緒開始執行時候,會造成多少延遲時間
因為直接產生 10000 個執行緒效能表現不佳,了解問題在哪裡
* Parallel.For 透過執行緒集區準備10000個執行緒的結果
設定執行緒集區預設準備 10000 個執行緒,執行 Parallel.For 一萬次,看看執行結果
* Parallel.For 透過執行緒集區準備不同執行緒數量的32位元執行結果
在 32 位元下,若產生過多執行緒,會有記憶體不足問題產生
* 聽說 Task 很厲害,那就使用 10000 個Tasks
絕大部分的人都對 Task 與 Thread 有所誤解,在此建 10000 個 Task 來看看表現
* 用 Task.Factory. StartNew 建立 10000 個Tasks
使用每個 Task 都是自己生成的執行緒,不透過預設工作排程器來取得執行緒,看看表現
* 使用 Task.Delay 來取代 Thread.Sleep 的封鎖 Block 等待
使用非封鎖的等待方式來體驗好的設計方法有什麼不同
* Parallel.For 改成使用 Task.Delay
最後,了解如何做到資料平行 10000 次處理,最終真的僅需要 5 秒就可以執行完畢的方法
誰適合閱讀這本書
* 對於任何想要學習 .NET / C# 平行程式設計 這個技術的開發者
* 需要具有 .NET / C# 開發經驗者,畢竟這本書中的例子是使用 C# 解說
* 最好能夠具備基本的計算機概念與知識
根據台灣現行法規,數位內容( 如電子書、音樂、影片、遊戲、App )形式之商品,不受「網購服務需提供七日鑑賞期」的限制。為維護您的權益,建議您先使用「試讀」功能後再付款購買。