开发高性能的并发应用时遇到的问题常可以归结到读写锁模式。利用boost thread库,可以很简单地实现一个读写锁(搜索就有了)。不过老猫告诉我boost thread库本来就包含读写锁了。呵呵。我一开始以为省了我很多功夫,结果后来花的时间更多。因为boost实现的是传统读写锁的refinement。boost的锁分为三级:shared_lock,这个可以看作是传统的读锁;upgrade_lock,我一开始搞混了,以为这个是写锁,其实不是;unique_lock,当当当,这个才是传统的写锁。什么是upgrade_lock,它的最大特点就是与shared_lcok不互斥,与别的upgrade_lock和unique_lock互斥。
开发高性能的并发应用时遇到的问题常可以归结到读写锁模式。利用boos