两个后台线程中的一个随机停止,没有任何通知(在日志中)

时间:2013-11-15 05:53:35

标签: c# windows-services

我有一个Windows服务,其中有两个线程,它们应该以不稳定的方式运行(而(true))并且两者都有相同的休眠时间(这发生在while()下) 当服务启动时,两个线程都会启动并工作一段时间,然后第二个线程停止在日志中不留下任何痕迹。异常处理在所有级别完成。

我已经设法通过为每个线程设置不同的休眠时间来解决这个问题,我认为这不是一个好主意。这是我初始化线程的方式..

protected override void OnStart(string[] args)
    {
Associate = new Thread(new AssociateProc().Associator) { IsBackground = true, Name = "Associator" };
Associate.Start();
DISAssociate = new Thread(new AssociateProc().DisAssociator) { IsBackground = true, Name = "DISAssociator" };
DISAssociate.Start();
     }

协会& DISASSOCIATE METHOD DEF是

public void Associator()
{
  while (true)
  {
    try
    {
      //METHODS CALLED
    }
    catch(exception ex)
    {
       //Exception Handling
    }
    thread.sleep()
  }

}

请让我知道更好的实施。

在尝试找出场景重复的模式时...我发现,在将信息记录到平面文件时,它会写入多个平面文件,当它开始写入多个文件时,第二个线程停止而不会离开任何痕迹..

我使用Microsoft.Practices.EnterpriseLibrary.Logging进行记录。

0 个答案:

没有答案