为什么用DELPHI做SOCKET文件传送CPU使用率会100%?多线程也不行?

kavala 2006-06-20 10:39:36
如题!
我用TClientSocket和TServerSocket分别做客户端和服务器进行文件传送,一运行客户端CPU 使用率就会上100%,这是怎么回事啊?是不是SOCKET 通讯都回有这问题?
后来我将客户端改成多线程的形式,在一个线程中接受文件,还是上100% !!真郁闷!
请高手帮忙看看是怎么回事,谢谢。
...全文
364 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
飞狼兄 2006-07-18
  • 打赏
  • 举报
回复
楼主!!!请问你的客户端改成多线程的形式,在一个线程中接受文件。是怎么搞的!!!帮帮我!!!flywolf804@163.com
oushengfen 2006-07-03
  • 打赏
  • 举报
回复
学了一招
  • 打赏
  • 举报
回复
lz的理解有误,多线程的优势不是速度,是并行
  • 打赏
  • 举报
回复
老生常谈了,在线程处理代码中加sleep,必须要加的,否则不只是cpu100%的问题,还会有其他问题。
postren 2006-06-20
  • 打赏
  • 举报
回复
线程循环中添加Sleep(1或10等适当数值)
kavala 2006-06-20
  • 打赏
  • 举报
回复
客户端的 clienttype 已经是 ctNonBlocking
服务器的 servertype 已经是 stNonBlocking
不行!
tigerii 2006-06-20
  • 打赏
  • 举报
回复
select none blocking mode
crbb 2006-06-20
  • 打赏
  • 举报
回复
CUP的使用率上升可能是你自己写的程序处理的问题
kavala 2006-06-20
  • 打赏
  • 举报
回复
如果不管是不是多线程都需要SLEEP来降CPU使用率,那多线程的优势何在?
另外加了SLEEP程序的执行速度会慢很多!另外即使这样CUP的使用率也会呈抛物线的形式缓慢上升!

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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