我有一个家庭作业问题,我真的不知道如何开始。作业 - 读者写入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