我要从很多个数据库服务器取数据回来,当一个客户有请求时从一个数据库服务器读数据,另一个客户有请求时可能从另一个服务器取数据;客户个数很多个,客户的请求也是随机的。打算采用多线程的方式,想到两种方式,请问该用哪种?方式1:
    当一个客户请求到来时马上创建一个新线程,读取数据后保存,然后线程退出(执行不太花时间,可能几秒就执行完了)。方式2:
    保持固定个线程(比如5个),平时这些线程都休眠,当有一个请求时呼醒一个,处理完再休眠;这样就不需要不停地建新线程。    感觉第一种方式比较简单,也比较倾向这种方式,但是不知道有没有什么问题,一个线程new 出来的对象会不会在线程结束时销毁?假如一天有1万个请求,那就是重复1万次这个过程: 新建线程-->执行-->退出、新建线程-->执行-->退出、新建线程-->执行-->退出,打算把程序当服务器长期运行,不知道会不会出现资源泄露,比如一个线程留下1K内存,那服务器几天不就down掉。不想弄得太复杂,第一种方案可行吗?如果不行只能用第二种,应该注意什么?