网上有很多关于数据库连接池的介绍,看了之后明白了连接池的主要作用是提高连接、读取数据库的速度。我以前写程序的时候没用过连接池,我都是在我的主程序中申明了一个数据库连接变量Connection 然后,在很多线程类中,将这个连接变量Connection做为参数传递给那些线程,我以为这样也就不用每次启动一个线程都要重新连接一次数据库,这样也就可以使程序运行的效率更好。不知我认为的是不是错误的?还请大家指教。

解决方案 »

  1.   

    多个线程共用一个数据库的连接Connection,会发生什么结果?
      

  2.   

    我以为Connection不会存在并发问题,你这么一说,我似乎明白了。
      

  3.   

    因为一个Connection只是一个管道,在同一时刻只能为一个线程服务。如果多个线程都要用的话,后面的就必须等待。所以对一个Web而言,需要使用多个Connection。连接池正是用来管理这些公用的Connection的,就象是流动公共厕所(打个比较不恰当的比喻),每次只能进去一个人,但出来以来还可以再进去人。连接池就是管理员,负责收费和维护