本人在编译一个程序时需要使用多线程,由于各个线程均需要访问数据库,我的做法是在每个线程的开始均与数据库建立一个连接,退出时释放。现在问题是,有没有办法可以只在主控程序中创建一个连接然后再创建多个线程,各个线程均可共用该连接(类似全局变量)。

解决方案 »

  1.   

    源程序代码太多,其大概思路是这样的,有一个总控程序,它create了三个线程,每个线程监听不同的PIPE,目前我的做法是:每个线程的开始就连接数据库然后等待pipe中数据的到来。
    由于我的程序需要跨平台,在绝大部分的平台上是没有问题的,但在compaq的OPENVMS下线程里连数据库是会出错的,所以我想将连接部分移到程序外部来实现,即建立一个总连接!
      

  2.   

    谢谢你给了我一个很好的思路,其实我也正在做这方面的东西,也不太会。我在Solaris下单线程连接数据库不会出错,多线程下,我还在试。
      

  3.   

    我也是,我现在的程序是50个线程接收到的数据都要进数据库,是在solaris下,数据库是oracle,不知道你有什么建议啊?我想我遇见的问题和你一样啊!
      

  4.   

    我们也在OpenVMS做程序,数据库是ORACLE 也用PROC 做通信程序,一边访问数据库,我们用的是进程,线程正在看,还没用,希望能多多交流
    [email protected]
      

  5.   

    用TPM吧,数据库连接池,然后多个线程访问数据库连接池