:shock: 我的程序中三个线程,均含数据库操作; 应该怎样让他们的连接独立呢? 以下是我的部分代码: typedef struct _recCmppApi { pthread_t SearchtableSubmit; pthread_t SearchMessageInfo; }RecCmppApi; EXEC SQL INCLUDE SQLCA; EXEC SQL BEGIN DECLARE SECTION; sql_context BLUEHUT; EXEC SQL END DECLARE SECTION; void sql_cnn() //数据库连接 { EXEC SQL BEGIN DECLARE SECTION; VA...
by bluehutzjf - C/C++ - 2003-12-23 17:56:28 阅读(2502) 回复(17)
我的应用程序是如下结构: main.c 程序的逻辑流程 mydb.pc 包含对数据库表访问的函数,所有的SQL语句封装到函数中,便于在main.c中使用。 例如 XXX_connect(),XXX_disconnect(), XXX_insert_table1(),XXX_insert_table2(), XXX_delete_table1(),XXX_delete_table2()等。 main.c中主程序如下: main() { XXX_connect(...); while(1) { reqid=RecvRequest(...); switch(reqid) ...
void *GetBuf(void* p) { pthread_detach(pthread_self()); .................... printf("listen successful , sockfd is %d \n", sockfd) if(-1 == (iListenfd = accept(sockfd, (struct sockaddr *)NULL, NULL))) { printf ("accept failed : %s \n", strerror(errno)); exit(1); } printf("accept successful \n"); .......................... } int main() { pthread_t pt...
线程退出异常错误 我的线程 //************************************************************** //接收线程 //************************************************************** void *ServTcp(void *p) { int myfd,ret; myfd = (int)p; int nBuff; char szBuffer[MAX_NETBUF],szBuf[8192]; char *psz; //脱离主线程 pthread_detach(pthread_self()); nBuff = 0; while(g_nRun == 1) //g_nRun = 1,run.g_nRun=-1,exit...
代码例子
#include
程序是守护进程模式,当客户进程连接上来后fork子进程处理。在子进程中连接数据库。当长时间没有客户进程连接后,如果再次发起连接,在数据库连接的过程中直接退出。程序没有core,不知道是什么原因? (oracle 7.3.4 for sco)
Java有两个机制:多线程(Multithread)和异常处理(Exception)。本章前半部分是关于Thread这一基本类以及一套先进的同步原语的介绍,它们使得利用Java编写多线程大为方便。在本章的后半部分我们将介绍Java的异常处理机制(Exception),异常处理机制提高了程序的健壮性。另外,本章中间将介绍一个Java的debugger工具Jdb的使用,Jdb工具对于调试多线程程序尤其有好处。 5.1 多线程(Multithread) 5.1.1 线程的基本概念 在介绍多...
linux下c程序与oracle数据库建立了连接,然后进入死循环,这样的话,CRTL+Z CRTL+C CRTL+V都不能强行退出程序.只能kill到这个进程,是程序的原因吗? 如何解决呢? 请教高手,谢谢!!!
linux下c程序与oracle数据库建立了连接,然后进入死循环,CTRL + Z,CTRL + C CTRL + V都不能结束这个进程,必须另外kill到,原因是什么?怎么解决?是程序的问题吗? 谢谢!!!
一个短信游戏,当网关的 client向我游戏服务器端口发送大量的信息包, 我的服务器处理之后,通过游戏的客户端口向网关的服务器口发送回复信息, 这么一个过程,瓶劲在中间的数据库业务处理上,那么我就使用多线程,希望能加快处理速度,这样就有个问题 多线程中,先建立好一个数据库连接并等待着,每来一个请求,就建立一个线程。那么每个线程都使用数据库连接,当线程完成时,就自动销毁了,但数据库连接(SQLSERVER)那边的,却一...
建立两个连接是这样的: EXEC SQL DECLARE link1 DATABASE; EXEC SQL DECLARE link2 DATABASE; EXEC SQL CONNECT :usrname1 IDENTIFIED BY :passwd1 AT link1 USING :db1; EXEC SQL CONNECT :usrname2 IDENTIFIED BY :passwd2 AT link2 USING :db2; 请问我后面sql语句该怎么指定一个数据库连接呢? 找了半天资料也没找到,哪位大侠知道,帮帮忙。