單核和多核

2021-06-17 23:19:34 字數 548 閱讀 2420

單核

同步:一件事一件事順序執行,等待的時候也不去做別的事情,就是浪費時間。也不一定,比如有時候,需要獨佔資源時就需要同步機制,比如多執行緒經常會遇到的問題。

非同步:(非同步切換思想),一件事情等待的時候去做另一件事情來度過浪費掉的時間。

多核

同步:沒有意義。

非同步:並行:同一件事情可以有兩個核同時執行。

非並行:同一件事情必須有乙個核單獨來完成。

多執行緒實現的是或者說做的事情是:單核中;非獨佔cpu的業務;非同步切換

讓執行緒1做的事情中等待的時間做兩件事:

讓執行緒1sleep;

讓執行緒2做另一件事情;

阻塞:執行緒被掛起,實現絕對同步;

非阻塞:不能立刻得到結果之前,不阻塞執行緒,立刻返回。

多執行緒應用:

網路應用:天生併發性,不確定性,不可靠性,等待互動

嵌入式應用:輕量級執行緒切換,響應快。

上下文切換:每次程序切換,都存在程序資源的保護和恢復動作。

單核 多核 多執行緒

1 鎖競爭 單核中,如果單個執行緒取得所,則獲取cpu執行時間,其他等待獲取鎖的執行緒被阻塞。使用了鎖,影響的只是枷鎖和解鎖的耗時,cpu始終執行。多核中,若2個 更多 執行緒使用同一把鎖,則會導致cpu飢餓。實際還是序列化執行!2 執行緒分解和執行的區別 對單核cpu,對客戶端軟體,採用多執行緒,...

關於單核心與多核心

1 單核心 執行效率 單核心也叫集中式作業系統。整個系統是乙個大模組,可以被分為若干邏輯模組,即處理器管理 儲存器管理 裝置管理和檔案管理,其模組間的互動是通過直接呼叫其他模組中的函式實現的。單核心模型以提高系統執行效率為設計理念,因為整個系統是乙個統一的核心,所以其內部呼叫效率很高。單核心的缺點也...

多執行緒程式在多核和單核上執行的不同

1 鎖 在單核上,多個執行緒執行鎖或者臨界區時,實際上只有乙個執行緒在執行臨界區 而核心也只支援乙個執行緒執行,因此不存在衝突。如果某個執行緒持有鎖,那只有其他執行緒不會被排程到cpu上執行,影響的只是持有和釋放鎖的時間,處理器時刻在執行著。但是在多核上執行時,鎖或臨界區會導致其餘處理器空閒而只允許...