用C++读写互斥

jas*_*ine 6 c++ multithreading mutex

这是一个面试问题.你如何实现读/写互斥?将有多个线程读取和写入资源.我不知道该怎么做.如果需要任何信息,请告诉我.

更新:我不确定我上面的陈述是否有效/可理解.但我真正想知道的是,如何根据互斥锁和其他所需的同步对象在单个对象上实现多次读取和多次写入?

Nic*_*kis 13

查看Dekker的算法.

Dekker的算法是并发编程中互斥问题的第一个已知正确解决方案.该解决方案归功于荷兰数学家Th.Edsger W. Dijkstra的J. Dekker在他关于合作顺序过程的手稿中.它允许两个线程共享一次性资源而不会发生冲突,只使用共享内存进行通信.

请注意,Dekker的算法使用自旋锁(不是繁忙的等待)技术.
(Th.J. Dekker的解决方案,由EW Dijkstra在他的EWD1303论文中提到) 替代文字