f**********y 发帖数: 230 | 1 【 以下文字转载自 JobHunting 讨论区 】
发信人: flyingbeauty (qualcommgirl), 信区: JobHunting
标 题: 谁能推荐一个read-writer lock的C++实现?
发信站: BBS 未名空间站 (Wed Mar 5 14:16:58 2008)
请问谁能推荐一个通过基本mutex来实现的read-writer lock?
最好是C++。
wiki上面的太简单了。Google了很久也没有答案。。。 |
f**********y 发帖数: 230 | 2 还有请问c++类库里面最常用的lock是哪个?
【在 f**********y 的大作中提到】 : 【 以下文字转载自 JobHunting 讨论区 】 : 发信人: flyingbeauty (qualcommgirl), 信区: JobHunting : 标 题: 谁能推荐一个read-writer lock的C++实现? : 发信站: BBS 未名空间站 (Wed Mar 5 14:16:58 2008) : 请问谁能推荐一个通过基本mutex来实现的read-writer lock? : 最好是C++。 : wiki上面的太简单了。Google了很久也没有答案。。。
|
c*****t 发帖数: 1879 | 3 建议你买本
"Foundations of Multithreaded, Paralle, and Distributed Programming"
基本上这辈子不用再为这类问题发愁。基本所有的常见问题都有 C/java/pseudo
code 。抄一下就是了。
对于 reader / writer 的问题,最佳解法的 pseudo code 是
int nr = 0; // number of readers
semaphore rw = 1;
semaphore mutexR = 1;
reader ()
{
P (mutexR);
++nr;
if (nr == 1)
P (rw);
V (mutexR);
... critical section code
P (mutexR);
--nr;
if (nr == 0)
V (rw);
V (mutexR);
}
writer ()
{
P (rw);
... critical section code
V (rw);
}
如果没有 sema
【在 f**********y 的大作中提到】 : 【 以下文字转载自 JobHunting 讨论区 】 : 发信人: flyingbeauty (qualcommgirl), 信区: JobHunting : 标 题: 谁能推荐一个read-writer lock的C++实现? : 发信站: BBS 未名空间站 (Wed Mar 5 14:16:58 2008) : 请问谁能推荐一个通过基本mutex来实现的read-writer lock? : 最好是C++。 : wiki上面的太简单了。Google了很久也没有答案。。。
|
f**********y 发帖数: 230 | 4 Thanks so much
【在 c*****t 的大作中提到】 : 建议你买本 : "Foundations of Multithreaded, Paralle, and Distributed Programming" : 基本上这辈子不用再为这类问题发愁。基本所有的常见问题都有 C/java/pseudo : code 。抄一下就是了。 : 对于 reader / writer 的问题,最佳解法的 pseudo code 是 : int nr = 0; // number of readers : semaphore rw = 1; : semaphore mutexR = 1; : reader () : {
|
w****g 发帖数: 4 | 5
为什么初始是0呢?请指点~
【在 c*****t 的大作中提到】 : 建议你买本 : "Foundations of Multithreaded, Paralle, and Distributed Programming" : 基本上这辈子不用再为这类问题发愁。基本所有的常见问题都有 C/java/pseudo : code 。抄一下就是了。 : 对于 reader / writer 的问题,最佳解法的 pseudo code 是 : int nr = 0; // number of readers : semaphore rw = 1; : semaphore mutexR = 1; : reader () : {
|