TI RTOS的鎖設計

2021-08-20 20:12:50 字數 1087 閱讀 3570

問題:ti.sysbios.gates.gatetask和ti.sysbios.gates.gatemutex的區別是什麼

回答:乙個基於禁用排程功能,乙個基於訊號量實現的。

問題:ti.sysbios.gates. gatemutepri和ti.sysbios.gates.gatemutex的區別是什麼

回答:前者能夠繼承優先順序,後者只是普通互斥鎖。前者能夠防止任務優先順序反轉。

var gatemutexpri = xdc.usemodule('ti.sysbios.gates.gatemutexpri');

var gatemutex = xdc.usemodule('ti.sysbios.gates.gatemutex');

var gatehwi = xdc.usemodule('ti.sysbios.gates.gatehwi');

var gateswi = xdc.usemodule('ti.sysbios.gates.gateswi');

var gatetask = xdc.usemodule('ti.sysbios.gates.gatetask');''

'

通過autolock的建構函式和析構函式進行加鎖和釋放鎖,對下封裝,方便使用和移植。

不可重入鎖的設計

可重入鎖 如果某個執行緒試圖獲取乙個已經由他自己持有的鎖,這個請求可以成功,那麼此時的鎖就是可重入鎖 不可重入鎖 不可重入鎖和可重入鎖相反,就是同乙個執行緒多次請求同一把鎖,會出現死鎖 定義乙個不可重入鎖 public class lock 當該執行緒第一次進來的時候,將islocked置位true...

細粒度鎖的實現之分級鎖的設計實現

在分布式系統中,想必我們經常會看到鎖的應用來保證操作的原子性,使用較簡單的例如物件鎖,單一鎖等等,再高階一點的例如讀寫鎖等等。但是不論是單一鎖或者讀寫鎖,在使用上都具有一定的互斥性。這裡的互斥性指的是當某個鎖持有者持有當前的鎖之後,其它執行緒必須進行阻塞等待操作。這種行為在具有很高workload的...

細粒度鎖的實現之分級鎖的設計實現

在分布式系統中,想必我們經常會看到鎖的應用來保證操作的原子性,使用較簡單的例如物件鎖,單一鎖等等,再高階一點的例如讀寫鎖等等。但是不論是單一鎖或者讀寫鎖,在使用上都具有一定的互斥性。這裡的互斥性指的是當某個鎖持有者持有當前的鎖之後,其它執行緒必須進行阻塞等待操作。這種行為在具有很高workload的...