我正在使用信號來圍繞從多個進程中的共享陣列中刪除int
的代碼的關鍵部分。函數調用在信號量的關鍵部分
我的問題是,如果在代碼的關鍵部分,我有一個函數調用輔助函數,它仍然會受到保護?
所以舉例來說,如果我有這樣的遵循了這一大綱代碼:
mutex_lock();
some_helper_function_call();
mutex_unlock();
將功能仍與這些鎖來保護或不?我很感激。
我正在使用信號來圍繞從多個進程中的共享陣列中刪除int
的代碼的關鍵部分。函數調用在信號量的關鍵部分
我的問題是,如果在代碼的關鍵部分,我有一個函數調用輔助函數,它仍然會受到保護?
所以舉例來說,如果我有這樣的遵循了這一大綱代碼:
mutex_lock();
some_helper_function_call();
mutex_unlock();
將功能仍與這些鎖來保護或不?我很感激。
無論您的代碼是在互斥鎖和解鎖是受保護的。所以在這種情況下,some_helper_function_call();
受互斥體的保護。
它是。看起來你並不知道信號量是什麼。它只是一個整數,存儲在內存中的某個地方。所以如果你鎖定它,它的價值將保持不變,除非你解鎖它。