当同步访问共享资源时,除了哲学上更多功能可能不需要的原因之外,是否有理由不使用读写锁而使用普通互斥锁(基本上只是写锁)?换句话说,如果我默认将读写锁作为首选同步构造,则会不会自己给自己惹麻烦?
在我看来,始终选择读写锁并相应地使用读锁与写锁的一个好理由是,我可以实现一些同步,然后永远不必再考虑它,同时在未来获得更好的性能可扩展性的可能好处,如果有一天将代码放入更高争用的环境中。因此,假设它具有潜在的好处而没有实际成本,那么一直使用它是有道理的。这有道理吗?
这是在一个不真正有限制的系统上,这可能更多是一个性能问题。另外,我通常使用Qt的QReadWriteLock和QMutex(C ++),如果有关系的话。
在我看来,始终选择读写锁并相应地使用读锁与写锁的一个好理由是,我可以实现一些同步,然后永远不必再考虑它,同时在未来获得更好的性能可扩展性的可能好处,如果有一天将代码放入更高争用的环境中。因此,假设它具有潜在的好处而没有实际成本,那么一直使用它是有道理的。这有道理吗?
这是在一个不真正有限制的系统上,这可能更多是一个性能问题。另外,我通常使用Qt的QReadWriteLock和QMutex(C ++),如果有关系的话。