我有一个包含几百万条目的字典。每隔几秒钟,这几百万个条目中的每一个都会更新。有几个线程可以读取(并且只读取)字典。
我抽象了所有东西(从dict消费者的角度来看),所以它最终会看起来一样 - 但我担心使用全局字典(带锁)的性能与queue(消费者从dict控制器请求一个条目,得到一个答案,并继续前进)。
我喜欢队列/控制器的想法,因为它看起来更干净。没有全局锁定/字典,一切都是同步的。我不喜欢它,因为根据我的经验,队列很慢。我也考虑使用zmq IPC作为替代品,但没有任何使用该机制的经验。
哪种同步,锁定或队列/ zmq方法会更安全有效?