"是高手你就来" 如何使用“应用程序服务器”的线程?(DELPHI 5.0X分布式多层应用系统篇)! (200分)

  • 主题发起人 主题发起人 myjane
  • 开始时间 开始时间
M

myjane

Unregistered / Unconfirmed
GUEST, unregistred user!
[red]如何使用“应用程序服务器”的线程?(DELPHI 5.0X分布式多层应用系统篇)
书也了。看到第六章(6-33)
DELPHI 5.0X分布式多层应用系统篇,中谈到在应用程序服务器中使用Apartment线程模型,在一个Apartment中只能存在一个线程,如果不自己写程序创建多线程来处理客户端的请求的话,在多个客户端连接到服务端后,服务端对客户端请求的处理不是及时的,而是排队来进行的,就是处理完一个客户的请求后,接着处理下一个客户端的请求。同时也举了个例子来说明,由于本人不能理解。所以我也就提出以下几个问题。
1、按照这种说法,一个Apartment中只能处理一个线程,那就是说如果要同时处理多个客户端的请求,我们就要建立多个Apartment.如何创建Apartment???
2、如果要创建多个Apartment,那我们在那里监听客户端的连接,我想如果客户端时使用TSocketConnectiong来请求连接的话,在服务端,我们是否可以使用TServerSocket来监听客户端的连接,如果客户端是使用TDCOMConnection来请求连接,那么服务端是怎么监听。
[/red]

例:
A:执行1个客户应用程序:
Button1:做一个查询2万条记录,耗时7.375秒。
Button2:做一个查询1000条记录,耗时0.141秒。
B:同时启动2个客户应用程序。
第1个:先Button1:做一个查询2万条记录,耗时7.906秒。
第2个:再Button2:做一个查询1000条记录,耗时0.422秒。
c:同时启动5个客户应用程序。
第1个:先Button1:做一个查询2万条记录,耗时9.64秒。
第2个:先Button1:做一个查询2万条记录,耗时25.62秒。
第3个:先Button1:做一个查询2万条记录,耗时27.296秒。
第4个:先Button1:做一个查询2万条记录,耗时27.531秒。
第5个:先Button1:做一个查询1000条记录,耗时1.157秒。
按照以上测试情况来看,DELPHI 7是自动为每个客户端建立一个Apartmen线程。并没有出现第2个:再Button2:做一个查询1000条记录,耗时0.422后再等(7.906)秒的情况。
但是C的1(耗时9.64秒)和2(耗时25.62秒)有如此大的差距?
而C的2(耗时25.62秒)和3(耗时27.296秒)和4(耗时27.531秒)又有如此小的差距?
 
关注,我也正在看!~~~~~~~~~~
这书写地,虽然内容很精华,但总忽略细节,真要命!总是一边看着书,一边查资料!~~~~~~
 
強列譴責李老師的這種忽略細節的做法﹐這個問題我也關注
 
1.线程是可以创建的,查下书就知道,它是定义一个TThread类,再通过类的创建,从而创建线程的.
2.当用户连接时,服务器可以帮连接上来的客户端创建线程,创建了之后客户端就可以通过线程来访问服务器的数据,不用等待其他用户执行完.至于连接的方式就没什么关系的,不过有些连接,服务器是可以自动帮它建立线程,不用写程序创建.
最底部的例子应该是说明DELPHI 7是为客户端自动建立线程的功能的
 
把分全部给我,我给你发一个以前写的过去.现在分太少了.很久没上这里来了.要混点分才行
 
to MADALY,你給我發一下﹐我先給你100算是見面禮。
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2632351
此貼無人應﹐我也結了算了﹐你看怎樣﹐
urlabelsoft@163.com
eastcreative@163.com
 
to MADALY,你給我發一下﹐200分全是你的了。
my-jane@263.net
 
urlabelsoft
myjane
代码以发.请给分
 
楼上的各位兄台,能共享一下内容嘛?小弟刚学delphi,请多多指导~
 
to Davidsun:
我真的沒有收到﹗
可能是163郵箱出了問題
 
TO:Madaly
100分已收到了吧
 
urlabelsoft:
代码早就发了!你还没给分呢??????????
严重鄙视!!!
myjane:
其实我的代码里以经完全回答了你的问题.两百分只给一百分,唉算了.没劲.
以前回答过一个鸟仔的问题,但他却不给分!.以后再也不想回答了.
 
myjane:
其实我的代码里以经完全回答了你的问题.两百分只给一百分,唉算了.没劲.
以前回答过一个鸟仔的问题,但他却不给分!.以后再也不想回答了.
-------------------------------------------------------------------
TO:Madaly
我的邮件你收到没有?这个贴子还没结,那100分是送你的。发什么牢骚哪?

 
大家不要傷了和氣﹗
 
你先不要那么生气,难道你没看我给你的邮件吗?因为这个贴子还没接。好吧,你到http://www.delphibbs.com/delphibbs/dispq.asp?lid=2595859http://www.delphibbs.com/delphibbs/dispq.asp?lid=2298242接分。
加上次的100分。共计200分。我可没有失言。
 
来自:urlabelsoft, 时间:2004-6-1 12:56:07, ID:2638950 | 编辑
to MADALY,你給我發一下﹐我先給你100算是見面禮。
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2632351
此貼無人應﹐我也結了算了﹐你看怎樣﹐
urlabelsoft@163.com
eastcreative@163.com

我真的沒有收到郵件﹐我也是叫你到那里去接貼﹗﹗﹗﹗﹗﹗﹗﹗﹗﹗﹗﹗﹗﹗﹗
 
多线程和多实例你没有高清楚!
apmartment,是单线程,你采用多实例,每个客户有一个单独的apartment,
在每个客户有一个单独的apartment中间是单线程。
单实例的apartment才是所有客户排队。
还有bouth,等你查看msdn里面非常清楚!!!
 
今天特地去邮箱查了一下,发给urlabelsoft的邮件并未提示发送失败.表明已经发送成功.
urlabelsoft你不信可以问问myjane我已经发给他了.
to myjane:
看了你的个人资料知道你是个大富翁也是个大侠(回答了很多问题嘛),分数多多.你给我的邮件我看了七百分可真是诱人啊.无奈心情不好不想赚你的分了.大富翁上的大侠很多,你还是给他们赚吧.偶是个穷命无福消受如此重礼啊.
 
TO:Madaly
分分给你了100。结了此贴后,再给100。共计300分。
TO:所有回答问题的DFW,我会再开贴放分。
 
后退
顶部