首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

关于线程的简单有关问题,

2012-12-31 
关于线程的简单问题,求助啊procedure TUploadThread.Executebeginwhile not Terminated dobegintryPrint.

关于线程的简单问题,求助啊
procedure TUploadThread.Execute;
begin
  while not Terminated do
  begin
    try
      Print.Throwdata;
      sleep(120000);
    finally

    end;
  end;
end;

代码如上。
在执行  Print.Throwdata; 这句的时候, 如果Print.Throwdata这个事件没错,线程就会一直运行着,但当Print.Throwdata有错的时候,线程就终止了,再不执行了。能有什么方法,能让Print.Throwdata有错的时候,也不会终止线程,让它继续工作呢。
[解决办法]
procedure TUploadThread.Execute;
begin
  while not Terminated do
  begin
    try 
      try
        Print.Throwdata;
      except
      end;
      sleep(120000);
    finally

    end;
  end;
end;


[解决办法]
try
Print.Throwdata;
except
在这里向主线程发送一个消息,让主线进行处理是否再次开启线程。
发消息的方法你参考论坛的置顶文章就可以。
这是一个长时间工作线程
建义你查查你的Throwdata,为什么会导至线程挂掉!
end;
[解决办法]
屏蔽不是上上之先,找出错误处理掉才是根治
只是连接服务器,可以设置一个检测标记,做个循环定时的去连接,连接成功或者连接N次也不成功再退出循环
[解决办法]
异常保护,同意#1

热点排行