我有一个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进行记录。