单例对多线程的性能影响有多大?

我抽象了一个连接管理类, ConnectionManager, 主题类TopicManager,可能还有更多.

  1. 就拿这个TopicManager来说, 我的程序主要就是用发布订阅的模式实现通讯, 也就是TopicManager的访问读取会非常频繁. 因为是单例的, 我肯定要做线程同步处理, 这样在多线程下对性能的影响有多大了?

  2. 相比之下, 我如果取消TopicManager这个类, 直接对数据库操作, 通过c3p0连接池, 以上两种方法相比, 哪种开销更大.

多谢各位.

查看回复