单例模式的疑惑

都说建立一个可以建立一个单例模式的数据库连接类,每次访问的时候都用这个类生产的唯一对象去对数据库操作,可以减少打开关闭数据库的消耗。有一个问题,假如一个数据库打开,一条查询很久的话,是不是这个对象就无法执行其他查询了,导致其他用户的查询要等上一个用户的执行完成先。还是说可以同步执行其他用户的查询?

阅读 2.3k
2 个回答

这得看你是什么语言了,如果是PHP这种语言,单例只是页面级的,每次请求都会生成对应的单例,一次请求结束后对象就会被回收。如果是Java这种类型的语言,单例是全局的,这时候就可能出现你说的那种情况,不过一般不会只用一个连接,Java种常用的是连接池,数据库操作类是单例,连接池也是单例,但是其中的连接是由连接池动态管理的,这时候就不会出现你担忧的情况了。

数据库连接池里面的连接数可以有多个吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进