在同步对共享资源的访问时,除了它具有比我可能需要的更多功能的哲学原因之外,是否有理由不使用读/写锁而不是普通互斥锁(基本上只是一个写锁) ?
换句话说,如果我只是默认将读/写锁作为我首选的同步结构,我是不是在自找麻烦?
在我看来,总是选择读/写锁并相应地使用读与写锁的一个很好的理由是,我可以实现一些同步,然后不必再考虑它,同时获得更好的性能可能带来的好处如果有一天我把代码放到一个竞争更激烈的环境中,未来的可扩展性。因此,假设它具有潜在的好处而没有实际成本,那么一直使用它是有意义的。那有意义吗?
这是在一个没有真正资源限制的系统上,它可能更多的是一个性能问题。此外,我通常已经提出了这个问题,但如果重要的话,我会特别考虑 QtQReadWriteLock
和QMutex
(C++)。