关于BDE的引来的困惑
前段时间项目初验了,目前正对中间件进行改造。在实际运行中发现一个非常困惑的事情。
我的开发的中间件支持多线程处理,该应用的整体思路就是在初始化分配可供配置的线程数,相当于是个线程池。由于该应用涉及数据库操作,也就是说线程数就相当于该应用与数据库的连接数。让我很困惑的就是,我的线程数如果>=15,有时就会出现某些线程连不上数据库。而且如果线程数连接过大,如果运行与数据库相关的应用无法对数据库进行操作。 访问应数据库,我是通过BDE访问的。
难道,BDE本身对数据连接就有限制吗?如果是这样,那么是否可以更改设置来增大连接数了。通过了解我知道如果通过AD0及ORalce控件能够避开此类问题。那么该控件是否在对数据库的操作方面有哪些优点了。
还有以前的应用有并发处理的能力,它的最大线程数可以通过配置确定,唯一的缺点没有缓存机制。也就是说,如果应用的最大现成数为10,在某一时间所有线程都在使用,这时进来一线程。看没有可使用的线程了,就直接退出应用。
现在就得考虑如何将这功能添加进去,将暂时不使用的线程放进列表中去,然后进行等待。等待有空闲的就线程数就提供使用。
对了,谁有ORalce的控件,支持D6版本的。请寄给我邮箱地址:chilavert318@sina.com
关于处理线程池的问题希望大家提供思路,如有相关源码那就再好不过了。高分相送!!!