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