環境變數到底有什麼用?

2022-06-11 16:48:08 字數 1406 閱讀 5644

我們知道當我們編譯並生成乙個exe程式時,要執行此exe程式,需要將編譯過程中依賴的鏈結庫dll檔案都放到附近才可以。

如果我們將這些庫目錄加入環境變數後,那麼執行exe時系統會自動到環境變數查詢,查詢到就可以在執行時,隨時載入(這就是環境變數的作用)

專案中配置opencv最好是用巨集來配置,這樣即便opencv安裝路徑變了,依然有效。

動態庫編譯時的lib又稱為導入庫lib,這個導入庫和靜態lib是不一樣的;

多執行緒就是將乙個cpu核心模擬出多個核心的效果,執行緒數大於等於cpu核心數。

多執行緒對於併發的處理有實際意義,比如併發請求為200時,乙個4核的cpu可以通過intel的超執行緒技術將每個cpu核做成50個執行緒,模擬50個cpu核心的效果,來應對併發。(多執行緒僅支援intel的cpu。)

即:在不超執行緒的前提下,只要核心數大於1,就可以做到程序的並行.(如果只有單核心,在可以超執行緒的前提下,也可以做到程序級的並行)

並行:是真正的同時執行

併發:表象上做到,不是真正的同時執行.----時間輪轉

平時我們關注的是(物理或邏輯)核心總數,   而不是cpu數目(一般的pc只有乙個物理cpu).

(核心是對以前單核cpu時代的cpu抽象)

cpu 物理核心數 = 物理 cpu 個數 x 每顆物理 cpu 的核數

cpu 邏輯核心數 = 物理 cpu 個數 x 每顆物理 cpu 的核數 x超執行緒數(邏輯核心就是指物理核心通過超執行緒技術抽象擴增的結果,只有intel系列才具有超執行緒技術)

因為在不超執行緒的情形下, 單物理核心的cpu電腦同一時間內只能執行乙個執行緒; 平常說的這個機器幾執行緒 就是指 機器可以同時執行的最大執行緒數目,  即邏輯核心總數.

比如我們說筆記本計算機cpu是6核12執行緒的,意思是1個物理cpu(插槽1 )  共有6個物理核心總數(核心),12個邏輯處理器總數(邏輯核心); 每個物理核心通過超執行緒技術抽象成2個邏輯處理器.

筆記本上裝置管理器顯示的是邏輯核心(邏輯處理器)總數

cpu主要生產商有intel(80%市場份額)---美國,  amd----美國等   意味著大部分你見到的cpu都支援超執行緒.

介面到底有什麼用

我們定義乙個介面 public inte ce ibark 再定義乙個類,繼承於ibark,並且必需實現其中的bark 方法 public class dog ibark public void bark 然後,宣告dog的乙個例項,並呼叫bark 方法 dog 旺財 new dog 旺財.bark...

學歷到底有什麼用

每年都會有不少想考研又在猶豫的學弟學妹問我,考研有用嗎?我也跟不少高學歷的朋友聊過,這個 學歷 到底有什麼用。乙個有趣的現象是,一般上了研的,都喜歡自嘲說,學歷啊 名校啊什麼的,都是浮雲。或者大呼後悔,說想到又 浪費 了自己幾年的光陰,很是悔不當初。問起當年考研的原因,多半是興趣所致,或是覺得自己的...

hashCode到底有什麼用?

hashcode概念 hashcode是jdk根據物件的位址算出來的乙個int數字,即物件的雜湊碼值,代表了該物件在記憶體中的儲存位置。我們都知道hashcode 方法是頂級類object類的提供的乙個方法,所有的類都可以進行對hashcode方法重寫。我們也知道在比較乙個類是否相同時往往會重寫eq...