日期:2014-05-18  浏览次数:20682 次

这样会不会开很多子线程啊?
主要功能就是一个windows服务同时往FTP上传、下载文件。现在主线程是上传文件,又开了一个子线程在下载文件,设了一下定时器,20毫秒执行一次。

  private void timer1_Elapsed(object sender, ElapsedEventArgs e)
  {
  timer1.Enabled = false;

  try
  {
  Upload();
  _mRecThread = new Thread(Get) { IsBackground = true };
  _mRecThread.Start();
  }
  catch (Exception ex)
  {
  Log.Error(ex.ToString());
  }

  timer1.Enabled = true;
  }

这样写的话,会不会每隔20毫秒执行一下,都会生成一个新的子线程呢?

------解决方案--------------------
肯定会的,如果new之前开的线程没有结束的话。建议操作不多的,还是使用单线程,效果反而更高好一些。