簡單對比C 程式中的單執行緒與多執行緒設計

2022-09-26 06:27:11 字數 1851 閱讀 2927

多執行緒概念

1.乙個正在執行的應用程式在作業系統中被視為乙個程序,程序可以包括多個執行緒。執行緒是作業系統分配處理器時間的基本單位

2.應用程式域是指進行錯誤隔離和安全隔離,在clr中執行,每個程式域都是單個執行緒啟動,但該程式域中的**可以建立附加應用程式域和附加執行緒

3.多執行緒的優點在於乙個執行緒阻塞的時候,cup可以執行其他的執行緒而不需要等待,這樣大大的提高了程式的執行效率。而缺點在於執行緒需要占用記憶體,執行緒越多占用的記憶體就多,多執行緒需要協調和管理,所以需要占用cpu時間以便跟蹤執行緒,執行緒之間對共享資源訪問會互相影響,所以得解決爭用共享資源的問題,執行緒太多,也會導致控制起來更複雜,最終導致很多程式的缺陷。

4.乙個程序可以建立多個執行緒以執行與該程序關聯的部分程式**,執行緒使用tread處理

c#單執行緒與多執行緒對比:

單執行緒:

using system;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.drawing;

using system.linq;

using system.text;

using system.windows.forms;

using system.threading;

namespace stockes

public delegate void writetxt(char chr);//定義委託

public writetxus**uut writetxt;//宣告委託

public void write(string str, writetxt writes)//使用委託

} }

private void text1(char chr)

public void text2(char chr)

private void stratwrite()

if(checkbox2.checked)

} private void button1_click(object sender, eventargs e) } }

多執行緒、併發任務: 

using system;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.drawing;

using system.linq;

using system.text;

using system.windows.forms;

using system.threading;

namespace stockes

public delegate void writetxt(char chr);//定義委託

public writetxt writetxt;//宣告委託

public void write(string str, writetxt writes)//使用委託

} }

private void text1(char chr)

public void text2(char chr)

private void stratwrite()

} private void stratwrite1()

} private void button1_click(object sender, eventargs e) } }

本文標題: 簡單對比c#程式中的單執行緒與多執行緒設計

本文位址:

埠掃瞄小程式與單執行緒多執行緒對比(C 實現)

visual studio 2015中新建乙個工程,選擇windows窗體應用程式。老師提供了乙個完整的多執行緒版本的埠掃瞄器,於是我就自己寫了乙個單執行緒版本的埠掃瞄器,圖形介面模仿了老師的給出的設計 老師的版本在progerssbox下方還用了三個隱藏的lable來顯示埠號和當前掃瞄的埠,我這裡...

Python中單執行緒 多執行緒與多程序的效率對比實驗

python是執行在直譯器中的語言,查詢資料知道,python中有乙個全域性鎖 gil 在使用多程序 thread 的情況下,不能發揮多核的優勢。而使用多程序 multiprocess 則可以發揮多核的優勢真正地提高效率。對比實驗 資料顯示,如果多執行緒的程序是cpu密集型的,那多執行緒並不能有多少...

Python中單執行緒 多執行緒與多程序的效率對比實驗

python是執行在直譯器中的語言,查詢資料知道,python中有乙個全域性鎖 gil 在使用多程序 thread 的情況下,不能發揮多核的優勢。而使用多程序 multiprocess 則可以發揮多核的優勢真正地提高效率。對比實驗 資料顯示,如果多執行緒的程序是cpu密集型的,那多執行緒並不能有多少...