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