服务线程中的TserverSocket问题???(100分)

  • 主题发起人 主题发起人 bullet
  • 开始时间 开始时间
B

bullet

Unregistered / Unconfirmed
GUEST, unregistred user!
我要在做一windows服务,要用到Tserversocket来接收多个client连接,
并对每一个连接生成一线程
如何在服务线程运行中阻塞tserversocket,
因为我按照书上的这一段:
procedure Tservice1.servcieExecute(sender:TService);
begin
...;
while not terminated do
begin
serverthread.processRequests(false);
end;
....;
end;
它的cpu使用居然100%,
另TserverClientThread 到底怎么用的,望给一个详细的例子.

 
D7有一个聊天的DEMO,使用了这个东东
你可以参考一下
 
procedure Tservice1.servcieExecute(sender:TService);
begin
...;
while not terminated do
begin
sleep(1);//CPU现在占用率大大降低也!可能只有5%。
serverthread.processRequests(false);
end;
....;
end;
 
请教:
为什么 wql 前辈 用了一个sleep就 降低了阿。请问sleep是什么?
如果比较难说请告诉我该看什么资料?
如果要我自己看书的话
要看那一类资料?
谢谢了。我是个初学者。
 
请教:
为什么 wql 前辈 用了一个sleep就 降低了阿。请问sleep是什么?
如果比较难说请告诉我该看什么资料?
如果要我自己看书的话
要看那一类资料?
谢谢了。我是个初学者。
 
Sleep 就和 Turbo Pascal 的Delay 一样,就是让系统休息一定的 Millisecond
你用循环不用 Sleep 想让系统累死呀!!! [:)]
 
后退
顶部