进程同步,异步,互斥
同步
同步亦稱直接制約關(guān)系,它是指為完成某種任務(wù)而建立的兩個或多個進(jìn)程,這些進(jìn)程因為需要在某些位置上協(xié)調(diào)它們的工作次序而等待、傳遞信息所產(chǎn)生的制約關(guān)系。進(jìn)程間的直接制約關(guān)系就是源于它們之間的相互合作。一個進(jìn)程的執(zhí)行依賴于另一個協(xié)作進(jìn)程的消息或信號,當(dāng)一個進(jìn)程沒有得到來自于另一個進(jìn)程的消息或信號時則需等待,直到消息或信號到達(dá)才被喚醒。
簡單來說,同步就是指在發(fā)出一個功能調(diào)用時,在沒有得到結(jié)果之前,該調(diào)用就不返回。也就是必須一件一件事做,等前一件做完了才能做下一件事
例如,輸入進(jìn)程A通過單緩沖向進(jìn)程B提供數(shù)據(jù)。當(dāng)該緩沖區(qū)空時,進(jìn)程B不能獲得所需數(shù)據(jù)而阻塞,一旦進(jìn)程A將數(shù)據(jù)送入緩沖區(qū),進(jìn)程B被喚醒。反之,當(dāng)緩沖區(qū)滿時,進(jìn)程A被阻塞,僅當(dāng)進(jìn)程B取走緩沖數(shù)據(jù)時,才喚醒進(jìn)程A。
互斥
互斥亦稱間接制約關(guān)系。當(dāng)一個進(jìn)程進(jìn)入臨界區(qū)使用臨界資源時,另一個進(jìn)程必須等待, 當(dāng)占用臨界資源的進(jìn)程退出臨界區(qū)后,另一進(jìn)程才允許去訪問此臨界資源。
進(jìn)程互斥關(guān)系是一種特殊的進(jìn)程同步關(guān)系,即逐次使用互斥共享資源,也是對進(jìn)程使用資源次序上的一種協(xié)調(diào)。
異步
異步的概念和同步相對。當(dāng)一個異步過程調(diào)用發(fā)出后,調(diào)用者不能立刻得到結(jié)果。實際處理這個調(diào)用的部件在完成后,通過狀態(tài)、通知和回調(diào)來通知調(diào)用者。
總結(jié)
以上是生活随笔為你收集整理的进程同步,异步,互斥的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用python的butter带通滤波器
- 下一篇: Halcon算子学习:XLD几种边缘连接