Socket服务器和NUnit.Thread.Sleep Thread.Sleep

问题描述 投票:1回答:1

我正在写一个socket服务器和客户端类,我正在通过NUnit测试。

我写了一个进程,用来检查所有的客户端是否还在连接。对于这个过程,我创建了一个线程,但我想的是每隔5秒才运行一次检查。我的初衷是使用 Thread.Sleep(). 当我结束测试时,我在服务器上运行Stop方法,中断了所有的活动线程,这就导致了 Thread 被从等待的状态中被打断。

我发现有替代的方法,通过 Task.Delay().Wait()但这也造成了同样的问题。

有没有其他的替代方法来解决这个问题?Thread.Sleep当我关闭服务器时,我可以用什么其他方法来结束这个线程?该线程正在运行while循环,条件是 Thread.CurrentThread.IsAlive.

c# sockets testing nunit
1个回答
0
投票

在我的其他问题中已经回答了 疑问我找到了一个更好的解决方案,因为我想只在一段时间内(比如5秒左右)运行检查,这里好的用法是 System.Threading.Timer 类,它适合于方法的周期性运行。

© www.soinside.com 2019 - 2024. All rights reserved.