原子操作: 乙個或多個指令的序列,對外是不可分的;即任何其它程序都無法看到其中間狀態或中斷此操作.
臨界區: 是一段**,在這段**中程序將訪問共享資源,當另乙個程序已經在這段**中執行時,這個程序就不能在這段**中執行.
死鎖: 兩個或兩個以上的程序因其中的每個程序都在等待其他程序做完某些事情而不能繼續執行,這樣的情形叫死鎖.
活鎖: 兩個或兩個以上程序為了響應其他程序中的變化而持續改變自己的狀態但不做有用的工作,這種情形叫做活鎖.
互斥: 當乙個程序在臨界區訪問共享資源時,其他程序不能進入該臨界區訪問任何共享資源,這種情形叫做互斥.
競爭條件: 多執行緒或者程序在讀寫乙個共享資料時,結果依賴於他們執行的相對時間,這種情形叫做競爭.
飢餓: 是指乙個可執行的程序儘管能繼續執行,但被排程器無限期的忽視,而不能被排程執行的情況.
程序的互動:
常用的併發機制:
「管程」介紹: 是由乙個或多個過程、乙個初始化序列和區域性資料組成的軟體模組。其主要特點如下:
a. 區域性資料變數只能被管程的過程訪問,任何外部過程都不能訪問。
b. 乙個程序通過呼叫管程的乙個過程進入管程。
c. 在任何時候,只能有乙個程序在管程中執行,呼叫管程的任何其它程序都被阻塞,以等待管程可用。
管程與訊號量(是原子操作)比較:
劣勢:在管程的同步函式中可能會產生錯誤。
優勢:所以的同步機制都被限制在管程內部,因此,不但易於驗證同步的正確性,而且易於檢測出錯誤;此外,如果乙個管程被正確編寫,則所以程序對受保護資源的訪問都是正確的;而對於訊號量,只有當所有訪問資源的程序都被正確編寫時,資源訪問才是正確的。
訊息傳遞:程序互動時,必須滿足兩個基本要求:同步和通訊。為實施互斥,程序間需要同步;為了合作,程序間需要交換資訊,提供這些功能的一種方法是訊息傳遞。訊息傳遞還有乙個優點:它可以在分布式系統、共享記憶體的多處理器系統和單處理器系統中實現。
send和receive原語中確定目標或源程序的方案可分為兩類:直接定址和間接定址。直送到接收者,而是傳送到乙個共享的資料結構,該結構由臨時儲存訊息的佇列組成,這些佇列通常稱為信箱(mailbox)。因此,對於兩個通訊的程序,乙個程序給乙個合適的信箱傳送訊息,另乙個程序從該信箱中獲取這些資訊。
當傳送者和接收者的關係為多對一的關係時,信箱也稱為乙個埠(port)。
程序和信箱的關聯可以是靜態的,也可以是動態的。埠常常是靜態的關聯到乙個特定的程序上,也就是說,埠是被永久地建立並指定到該程序。對於埠,它通常歸接收程序所有,並由接收程序建立。
讀寫問題:策略分為「讀者優先」和「寫者優先」。
金融相關術語和產品
術語 p2p借貸 p2p借貸是指個體和個體之間通過中介機構牽線搭橋實現直接借貸。目前在國內發展的模式有三種 一 線上p2p,p2p公司提供純粹的線上借貸資訊平台,為出借人提供經過平台信用審核的借貸需求資訊 二 線下p2p,p2p公司的客服人員與借貸者面對面完成借貸需求資訊採集 信用資訊核實等工作。p...
背板和OAM術語介紹
1.背板 背板就是電裝中常用的母板,一般來說提供介面作用,便於各種型號的基板插在上面。舉個通俗的例子,就像我們電腦的主機板那樣,顯示卡,記憶體,硬碟,cpu都是插到主機板上的。背板的作用就像主機板。背板一直是pcb製造業中具有專業化性質產品。背板較常規pcb板要厚和重,相應地其熱容也較大。鑑於背板冷...
InnoDB 事務和併發控制相關的檔案
與事務管理和併發控制相關的檔案目錄結構 storage innobase btr b 樹索引結構,鎖物件施加在索引項上面,而不是直接施加在記錄 元組上面 btr0btr.cc 索引管理,索引的建立 釋放等相關操作 btr0bulk.cc 索引上資料的批量操作 btr0cur.cc 索引樹上遍歷對ro...