数据库连接池是在应用程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由应用程序动态地对池中的连接进行申请、使用和释放。数据库连接池是为了复用数据库连接Connections,因为数据库连接的获取和销毁开销代价大。
线程池先启动若干数量的线程,并让这些线程都处于睡眠状态,当客户端有一个新请求时,就会唤醒线程池中的某一个睡眠线程,让它来处理客户端的这个请求,当处理完这个请求后,线程又处于睡眠状态。线程池是为了复用线程,因为线程上下文切换开销代价大。
它们的核心思想都是对资源的复用。原理说像的地方就是都是事先准备好资源,都是建立一个池,把连接或者线程放进去,但是两者并无联系,是完全不一样的东西。