1. 程式人生 > >多執行緒與多核處理器 SMP 分析

多執行緒與多核處理器 SMP 分析

首先分析執行緒的優勢:

1、提高程式的併發性(執行緒級並行,而非指令級並行);
2、一個程序內的所有執行緒共享所有資源;
3、切換執行緒的代價下;
4、互動式程式可以通過多執行緒方式改善響應時間。


多執行緒實現的方式:
1、程式採用多執行緒設計方案;
2、多核處理器為單一的單執行緒程式提供了很好的平臺,對其進行並行優化,是吸納實現更好的程式執行效果。


當一個採用多執行緒設計的程式在SMP平臺上執行時,程序中的多執行緒會分佈到CPU的多個核上並行執行。如果執行緒間的執行過程是獨立的,則此時的程序的並行度是最大的,如果多執行緒間存在資源的競爭或者需要同步和通訊,其程序的並行度<1。如果多個執行緒的結構是順序結構且臨界資源數為1時,此時的多執行緒設計方案則會退化為單執行緒設計模式,其程式的效率大打折扣。