多线程里,有时候某个线程干着干着突然罢工了,这是怎么回事?(59分)

  • 主题发起人 主题发起人 shmily0616
  • 开始时间 开始时间
S

shmily0616

Unregistered / Unconfirmed
GUEST, unregistred user!
创建了3个线程,动态创建了idhttp
每个线程都idhttp.get(url)一定数量的url,url是真实存在的、正常的
得到各个线程的返回结果后
同步,在主程序处理各个返回结果并显示在memo里
可是实际运行时,发现本应3个线程的返回,有时只有2个线程的返回,另一个线程,在运行一段时间后,就停了;有时只有一个线程的返回,另2个也在半路停了。有的时候能得到正常的完全的3个线程的返回。
为什么有时会出现某个线程罢工的现象?大概是什么原因引起的?
 
可能是由于太累了,想休息。
 
估计不是线程的问题,而是idhttp卡住了
 
为什么idhttp会卡住?实在是搞不懂了,有时能得到3个线程的返回,有时得到2个,另一个就干着干着就休息了
采取什么措施才能避免这种情况?
 
是不是CPU 100%了
 
设置ReadTimeout试试~~
 
我设置了ReadTimeout,问题好像确实解决了
请问idhttp的connecttimeout和readtimeout,具体什么意思?
connecttimeout是说N秒没连上,断开,自动下一次连接?
readtimeout是说N秒没有获得返回,断开,自动下一次连接?
 
连不上就停止了。重连是你自己的事情。自己写的线程里面做了什么事。怎么通知外界它的状态你都没做。牛就一个子。
 
进来学习
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
后退
顶部