[入門] .Net 非同步處理與同步機制全解析 (二)

這一篇入門教學距離上一篇([入門] .Net 非同步處理與同步機制全解析 (一))已經有足足三年多的時間。之所以延宕那麼久, 主要是因為微軟已經開始提供平行處理及非同步機制的功能更新; 許多功能及用法不停地出現, 連我自己都搞不清楚, 所以我也沒辦法繼續著手這一系列文章。直到 .Net Framework 4.5 開始, 我覺得應該可以算是一個適當時機, 可以繼續來寫這個系列文章了...

...繼續閱讀 »

[入門] .Net 非同步處理與同步機制全解析 (一)

不管你學的是何種程式語言, 非同步及平行處理總是最令人費解的部份之一。如果你沒有過人的邏輯觀念, 那麼要把非同步程式寫好, 恐怕有一定的困難度。不過最難的部份不在技術上, 而是到底在何種場合下可以採用非同步或平行處理。在日常生活中, 我們採用的邏輯大多是循序進行的, 也就是說, 等到前一件事情完成之後, 才去進行下一件。但是在某些情況下, 非同步處理是比較合乎情理的做法...

...繼續閱讀 »

[入門][LINQ] PLINQ 簡介

PLINQ (Parallel LINQ) 是 .Net 4.0 開始引進的新功能之一, 其主要目的是提供 LINQ to Object 的平行處理支援, 所以(理論上)可以提高整體運算速度。PLINQ 針對暫存在記憶體中的物件(包括集合物件、陣列等等)提供查詢功能, 這點和傳統的 LINQ 查詢一樣, 不過 PLINQ 會把工作自動分配給許多個工作執行緒 (Working Threads), 藉此提高執行效率。如果 .Net 查覺到有些工作可能不適合或不需要做平行處理, 那麼它會自動採用循序處理的方式進行(如同採用傳統的 LINQ 一樣)...

...繼續閱讀 »