中间层的线程问题!(我只有68分了,各位富翁别闲少!:))(68分)

  • 主题发起人 主题发起人 hnlygtjj
  • 开始时间 开始时间
H

hnlygtjj

Unregistered / Unconfirmed
GUEST, unregistred user!
我在中间层用的是TADOConnection连接sql server2000数据库,
客户端是用socketconnection连中间层的。
1,现在想开多个线程,这线程要怎么开呀?
2,这个线程是不是要包括所有的中间层中的TADOConnection、TQuery、Ttable和TDataSetProvider呢?
3,在客户端要怎么样才能激活一个线程呢?是不是每个客户端激活这个线程都只是用的
这个线程的一个实例?
 
这么多人看!就没有人回答吗?:(
我都急死了。
 
你在创建MIDAS中间层的RemoteDataModule时,选择适当的线程模式就行了。服务器会
按你的选择,在客房连接时,创建或共享服务线程。
服务的线程模式跟TADOConnection、TQuery、Ttable和TDataSetProvider之类的东西无关。
如果你的服务是多线程模式的,每个客户端会激活各自的线程。但具体的DCOM、CORBA是
不同的,可能会先创建几个服务线程供客户共享使用。
 
谢天谢地终于有人回答了,
to huzzz:
那是不是我在创建RemoteDataModule是选择了Apartment就不用去管线程的问题了?
 
to hnlygtjj
还是去看看李维的《Delphi分布式多层应用系统篇》第六章
 
这是一个用不用Session的问题:
如果使用默认session的话,连线数目是排队处理,基本没有什么限制
同时进行大量更新操作可能会有不稳定的因素。
如果用自己的session的化,连线数目是并行处理,一个中间层可连接的数目有限(我试过一般是16个左右)
但比较稳定
 
兄弟才16个左右我用DcomConnect可以连接到40个以上的客户端同时操作,呵呵,还可以
去看看李维的三本书,每本都互相联系的,都有很大的帮助,^_^
 
所谓apartment就是把执行程序进行细分,以维护线程的存取的问题。
在一个执行程序中可应有数个不同的apartment,而每一个可使用不同
的线程模型来控制线程如何存取com/dcom组件。
你应使用MTA线程模型。
 
>>那是不是我在创建RemoteDataModule是选择了Apartment就不用去管线程的问题了?
我想是的,但你还要选择Multiple Instance才行。
因为选择了Apartment线程模型,DELPHI已经帮你做了一些工作。
 
去看看李维的三本书,或去www.bestdown.com下载电子版,偶已经Down了!
 
多人接受答案了。
 
后退
顶部