读书人

大家帮忙.多实例多线程数据库,该怎么解

发布时间: 2012-03-05 11:54:02 作者: rapoo

大家帮忙...多实例多线程数据库
我的SOCKET 服务端需要操作数据库
服务端工作情况是这样的:

用一个SOCKET 侦听
如果连接进来就重新生成一个SOCEKT 实例

这样就有多个实例
我想在每个实例里对数据库进行操作而且可以是对一张表操作
我想知道这样的多实例
是不是像多线程一样有可能会多个实例同一时间对一张表进行操作...

或者我程序中有一个变量 多个实例是不是也有可能像多线程一样
有同一时间访问这个变里的可能....
如果有该怎么解决..
我用的是MFC CSOCKET类

还有
vc 连接池是怎么建立的
是不是自己弄一个链表...然后建立几个数据库连接放到链表里
用的时候去链表里取....
数据库是SQLSERVER 其他数据库怎么建立希望大家也说一下
谢了.....

大家帮忙啊!!!!


[解决办法]
如果你用了线程同步的技术``就不会```
比如楼主担心会多个实例访问同一张表,那么就给每一张表都定个变量,然后当有用户访问的时候`先判断这个判断对应的变量有没有锁定,没有`就锁定这个变量,并让这个用户访问,这样其他用户就必须等待了``
我也没用过连接池``不过大意就是自己维护几个连接
[解决办法]
SQL Server本身就有同步机制啊。
[解决办法]
线程内的同步``用EVENT就很好用了`相关函数SetEvent,ReSetEvent
[解决办法]
你说的多线程,用数据库内置支持的锁定机制就可以了

至于连接池,其实就是在服务器每次访问完数据库以后,并不关闭连接,而是保持连接,下次接着用

读书人网 >VC/MFC

热点推荐