執行緒併發基礎

2021-09-27 03:42:57 字數 436 閱讀 5787

多核心:chip mutilprocessors(單晶元多處理器) cmp

多執行緒:simultaneous multithreading smt

如果在時間片結束時,程序還在執行,則cpu將被剝奪並分配給另乙個程序。如果程序在時間片結束之前阻塞或結束,則cpu當即進行切換。

排程程式做的是維護一張就緒程序列表,當程序用完它的時間片後,它被移到佇列的末尾。

從乙個程序切換到另乙個程序需要一定時間,包括儲存和裝入暫存器值及記憶體映像,更新各種**和佇列等。為了提高cpu效率,需要合理設定時間片。

吞吐量是指網路、裝置、埠、虛電路或其他設施,單位時間內成功地傳送資料的數量(以位元、位元組、分組等測量)。

系統吞吐量:系統在單位時間內所處理的資訊量,它以每小時或每天所處理的程序數衡量。

注意問題

併發程式設計 執行緒基礎

解決髒讀 造成髒讀的原因是在寫入資料 set 的時候,呼叫了讀取資料 get 的方法,造成讀到修改的資料的現象。解決的辦法是 使用synchronize同時對get方法和set方法加鎖,這樣set的時候就無法get 鎖重入 概念 對於拿到某個鎖的執行緒,它由可能再拿到其他的鎖。對於它剛執行完並釋放的...

併發基礎之執行緒安全

個人部落格 原子性是指乙個操作是不可中斷的。即使是在多個執行緒一起執行的時候,乙個操作一旦開始,就不會被其它執行緒干擾 在併發時,程式的執行可能就會出現亂序 一條指令的執行是可以分為很多步驟的 取指 if 解碼和取暫存器運算元 id 執行或者有效位址計算 ex 儲存器訪問 mem 寫回 wb 指令重...

併發基礎 Linux多執行緒程式設計

linux 下的多執行緒程式設計使用pthread posix thread 函式庫,使用時包含標頭檔案pthread.h,鏈結共享庫libpthread.so。這裡順便說一下gcc鏈結共享庫的方式 l用來指定共享庫所在目錄,系統庫目錄不用指定。l用來指定要鏈結的共享庫,只需要指定庫的名字就行了,如...