我有一個家庭作業問題,我真的不知道如何開始。作業 - 讀者寫入appender信號量
這裏的問題: 「這個問題利用新的同步原語稱爲ReaderWriterAppender信號的同樣的規則對於適用於讀者和作家與讀寫器的信號量,增加的這些新規則的一個appender :
1)不超過一個的appender可以在任何給定的時間有信號
2)附加器和寫不能擁有在同一時間
3旗語)讀取追加」
我需要在我的ow中實現它ñ。
沒有給出
typedef struct {
//structure here
} rwasem_t;
void rwalock_init(rwasem_t * rwa) {
}
void rwa_read_lock(rwasem_t * rwa) {
}
void rwa_write_lock(rwasem_t * rwa) {
}
void rwa_append_lock(rwasem_t * rwa) {
}
void rwa_append_unlock(rwasem_t * rwa) {
}
一個結構的問題是,我不知道如何來解決這個問題。我知道讀者作者信號量是什麼,我知道如何使用它們,而且我之前使用過它們。但我不知道如何實施它們。他們甚至不告訴我,如果我可以使用API或任何東西。基本上, 「實現它」
由於提前,
卡西姆
必須缺少一些要求,因爲如上所述,您可以使用讀寫器鎖並使'rwa_append_lock'調用'rwa_write_lock'。 – 2012-02-14 08:07:41