Delphi多线程有用吗?

YuYo 2001-06-28 10:10:41
在Delphi中使用多线程,创建一个线程后它的占用Cpu率很高都是100%
如何是好?它自带的例子如下:
procedure TMyClientThread.Execute;

var
TheStream: TWinSocketStream;
buffer: string;
begin
{ create a TWinSocketStream for reading and writing }
TheStream := TWinSocketStream.Create(ClientSocket1.Socket, 60000);
try
{ fetch and process commands until the connection or thread is terminated }
while (not Terminated) and (ClientSocket1.Active) do
begin
try
GetNextRequest(buffer); { GetNextRequest must be a thread-safe method }

{ write the request to the server }
TheStream.Write(buffer, Length(buffer) + 1);
{ continue the communication (eg read a response from the server) }
...
except
if not(ExceptObject is EAbort) then
Synchronize(HandleThreadException); { you must write HandleThreadException }
end;
end;
finally
TheStream.Free;
end;
end;
...全文
194 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuxiaojun 2001-06-28
  • 打赏
  • 举报
回复
当然有用, 我打个比方,你现在需要查询一个数据库中的数据,但这个数据库中的数据非常宠大,哪你必须做一个进度条,让客户知道计算机工作进程。要想知道进程的详细,先给点分再说。
Babylon5 2001-06-28
  • 打赏
  • 举报
回复
怎么会没用?关键是怎么用。
多线程写数据库?多线程winsock通信?多线程界面处理?...
ok! no problem.

我一直用它,线程, 用起来挺好的。:)
  • 打赏
  • 举报
回复
没用,你别用了
要不你用delphi6看看如何
dana 2001-06-28
  • 打赏
  • 举报
回复
线程主要用于长时间的计算,为使程序不让用户等待可采用线程.
其它的操作就没多大的用处,线程要合理使用,不能滥用.
zhuxiaojun 2001-06-28
  • 打赏
  • 举报
回复
我沉得zhuxiaojun(delphi高插) 应得20分
我不懂电脑 2001-06-28
  • 打赏
  • 举报
回复
降低线程优先级
YuYo 2001-06-28
  • 打赏
  • 举报
回复
在写Excute时,如上所写进入循环后Cpu占用率100%,怎么解决呢?
51Passion 2001-06-28
  • 打赏
  • 举报
回复
你如果一直没用过多线程,或者觉得多线程用处不大,那你肯定没做过值得一用的程序
Larky 2001-06-28
  • 打赏
  • 举报
回复
线程需要有阻塞条件的,如果线程里是一个死循环的话占用CPU肯定是100%
多线程是很有用的!
njhhack 2001-06-28
  • 打赏
  • 举报
回复
kkk
liangjiang 2001-06-28
  • 打赏
  • 举报
回复
找一本操作系統的書看看

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧