1. 程式人生 > 其它 >C# 基元執行緒同步構造

C# 基元執行緒同步構造

注:基元指可以再程式碼中使用的最簡單的構造.

執行緒基元構造分為兩種,使用者模式和核心模式.

使用者模式分析:

優點:速度比核心模式塊,使用特殊cpu指令來協調執行緒,協調實在硬體級別發生的.在此構造上的執行緒池執行緒一旦發生阻塞,並不會建立的新的執行緒,因為它不會認為自己發生阻塞.。cpu指令只會阻塞執行緒很短的時間

缺點:只能核心才能停止當前構造的執行緒池執行緒.且會被系統執行緒搶佔,期間,他會在使用者模式中保持執行,導致浪費cpu時間,本可以去做別的時間哪怕是停止也好,停止能省電.

核心模式分析:

優點:核心模式構造的執行緒在等待別的執行緒執行資源時,會發生阻塞避免浪費cpu資源,當執行資源可用時會被重新喚起.

缺點:將執行緒從使用者模式切換到核心付出的代價很大.所以避免使用核心模式執行緒構造.

兩種模式對於在一個構造上等待的執行緒,如果擁有這個構造的執行緒不釋放,在使用者模式下,就是活鎖,既佔用cpu資源又耗費記憶體.在核心模式下,僅消耗記憶體.