线程的简单问题4:线程中的Tadoconnection ( 积分: 10 )

  • 主题发起人 主题发起人 ppqingyu
  • 开始时间 开始时间
P

ppqingyu

Unregistered / Unconfirmed
GUEST, unregistred user!

我是学数据库的,学习线程是为了查询数据库,看了那么多的数据库多线程例子,有80%是说各个线程独立Tadoconnection,20%是说共享Tadoconnection,这个有何的不同?
 

我是学数据库的,学习线程是为了查询数据库,看了那么多的数据库多线程例子,有80%是说各个线程独立Tadoconnection,20%是说共享Tadoconnection,这个有何的不同?
 
一个线程一个Connection是最简单安全的,实现代码少。
共享应该是指实现一个共享池吧(一个肯定会死),实现共享池难度大一点,但是效益会高
 
一个线程一个总连结,这样管理起来倒是非常方便,但效率奇低,也违背了数据库开发的初衷,我不赞成.
 
各有利弊,看你侧重哪方面了。[:)]
 
我不太明白利在哪里?而且有必要每开一个线程就创建一个连结吗?
 
TO 44152788:
共享池实现,能否给我一点代码,还是给我一个简单的源程序?
ppqingyu@yeah.net
 
如果每个线程单独使用一个连接在操作时不用考虑同步问题,如果共用一个线程,线程同步是很烦琐的
 
delphi中的TADOConnection不是线程安全组件,共享TADOConnection在多线程查询时非常容易出错,因为ADO没有TSession,只能用每线程一TADOConnection来替代,如果用与主线程同步来解决,那就失去了多线程的意义,这完全要看你用多线程怎么访问数据库,使用多线程达到什么效果,来权衡利弊使用。
 
后退
顶部