我看了李维的<COM/DCOM线程模型和多层应用系统>我有个疑问,Delphi的远程数据模块的Apartment到底是多线程还是单线程 (30分)

  • 主题发起人 主题发起人 xhyph
  • 开始时间 开始时间
X

xhyph

Unregistered / Unconfirmed
GUEST, unregistred user!
李维的<分布式多层应用系统篇>的整个第六章都在讲,
Delphi的应用程序服务器的Apartment并非人们想象的那样,
给每个客户端创建一个线程,而是每个服务端可以创建许多Apartment,
但每个Apartment却只能有一个线程,来执行COM,
于是我看啊看啊看,我想最后李维一定会说怎么解决这个问题,
可是后来李维又说Delphi5的线程模型修改了这个问题,,
现在我搞糊涂了,到底Delphi5的Apartment是否会为每个客户端线程建立个服务线程啊???
 
这个当然由程序员来确定了(而不会自动的),Apartment只是允许COM服务器拥有多个
相同的Apartment在不同的服务器线程中执行(如此以来就可以服务多个客户端的要求)
但是在每一个Apartment中只有一个单一的线程可以执行这个Apartment中的任何的COM对
象,如果一个应用程序服务器虽然是使用Apartment线程模型,但是应用程序服务器只建
立一个Apartment线程的话,那么它仍然一次只能服务一个客户端(比如;如果应用程序
服务器建立了3个线程Apertment,则可以服务3个客户端要求)
 
那我如何建立多个Apertment
 
没有人能够回答
我自己拿
 
接受答案了.
 
后退
顶部