快帮忙呀!拜托了,各位!!!多线程通信问题!!!(200分)

  • 主题发起人 langzizheng
  • 开始时间
L

langzizheng

Unregistered / Unconfirmed
GUEST, unregistred user!
我用多线程动态生成10个ClientSocket进行通信,现在的问题是:如果在OnError事件中检测到网络
不通,我的程序就停住了,所有的线程都不再处理。我希望是在检测到线路中断后,隔5秒中再重新
生成线程请求连接,请问:
1:可需要将未完成的线程终止掉,如果要强行终止,怎样做?
2:因为我是在一个线程中的OnError事件中检测到网络不通,在这个事件中能否对其他的线程进行操作?
3:我要实现重新请求连接,该如何实现?
 
为什么没有人能帮我一下呢?如果分数不够可以商量嘛!
 
不会吧!难道真的没有人知道吗?
 
用一个定时器,隔5秒判断一次是否发生了OnError,若发生了,强行终止线程
if TerminateThread(MyThread.Handle,0) then
MyThread.Free;
重新开始。
不过强行终止线程可能会有问题。
 
1:正如 zw84611 所说
2:你需要在线程创建时维护一个线程句柄的列表,通过列表中的句柄发送消息
3:在 OnError 中给自己发送消息,用 PostMessage
 
to beta :
能给个例子吗?非常感谢!!
 
接受答案了.
 
顶部