C 多執行緒程式設計系列(一) 簡介

2021-09-19 21:23:00 字數 1434 閱讀 7224

原文:

c#多執行緒程式設計系列(一)- 簡介

目錄目前只整理到第二章,執行緒同步,筆者後面會慢慢更新,爭取能把這本書中精華的知識都分享出來。

c#多執行緒程式設計系列(一)- 簡介

c#多執行緒程式設計系列(二)- 執行緒基礎

c#多執行緒程式設計系列(三)- 執行緒同步

c#多執行緒程式設計系列(四)- 使用執行緒池

c#多執行緒程式設計系列(五)- 使用任務並行庫

在c#學習過程中,多執行緒一直都是比較難的部分,因為其中涉及到很多與作業系統相關的知識。比如:如何進行多執行緒程式設計、執行緒同步、執行緒鎖、執行緒非同步、並行程式設計、並行集合等等的知識。所以筆者在學習過程中也是遇到了重重困難,而且一直沒有好的教程。

但是筆者在瀏覽github時,發現有大佬已經推薦了一本新書,《multithreading with c# cookbook second edition》,其中主要就是講如何在c#中使用多執行緒的。看到這本書筆者是如獲珍寶,終於能有機會系統的學習多執行緒相關的知識了。

本書一共分為十乙個章節,分別從執行緒基礎、執行緒同步、執行緒池、task並行庫、c# 6.0特性、併發集合類、plinq、反應式程式設計、非同步i/o、並行變成模式和在uwp .net core中應用來完成的介紹了c#多執行緒程式設計。如下圖所示。

筆者認為本書真的是一本不可多得的好書,回想起那段被多執行緒虐過的日子。粗略的過了一遍以後就打算馬上拿出來分享給大家,後文有相關的購買鏈結,大家也可以直接在某寶、某東搜尋關鍵字,**也是比較便宜的,多多支援正版。

本書主要是偏實踐應用一些,其中每個章節中的技術說明都分為三個部分,準備工作(getting ready)、實現方式(how to do it...)和實現原理(how it works...)

本文節節選第一章的第一小節舉例,首先是準備工作。

1.準備工作

2.實現方式

3.實現原理

《multithreading with c# cookbook second edition》購買位址

補充,本書有中文翻譯版本,由黃博文大佬翻譯,但是好像還是第一版。

《c#多執行緒程式設計實戰》購買位址

C 多執行緒(一) 簡介

多執行緒是為了同步完成多項任務,不是為了提高執行效率,而是為了提高資源使用效率來提高系統的效率。執行緒是在同一時間需要完成多項任務的時候實現的。乙個程式開始執行時,它就是乙個程序,程序所指包括執行中的程式和程式所使用到的記憶體和系統資源。而乙個程序又是由多個執行緒所組成的,執行緒是程式中的乙個執行流...

C 多執行緒系列(一)

1 執行緒概念 程序 process 是一塊包含某些資源的記憶體區域,作業系統利用程序把它的工作劃分為功能單元。而執行緒是程序的乙個實體,是cpu排程和分派的基本單元,是比程序更小的能獨立執行的基本單元。執行緒自己並不擁有系統資源,只是擁有在執行中必不可少的極少資源 如程式計算器,一組暫存器和棧等 ...

C 物件導向多執行緒程式設計簡介

多執行緒程式設計引發的問題 死鎖 無限延遲 資料競爭等。併發程式設計包括多工 多程序 和多執行緒。使用多執行緒程式設計時需包含標頭檔案,具體測試程式 如下 死鎖問題 下例說明了出現死鎖的情況,當臨界區要求使用2個及以上的互斥鎖時,若加鎖的順序不一致,可能導致死鎖。因此為避免死鎖程式猿要保證加鎖的順序...