【发布时间】:2020-05-11 10:31:18
【问题描述】:
我正在编写一个套接字服务器和客户端类,我正在通过 NUnit 对其进行测试。
我编写了一个进程,它会检查所有客户端是否仍处于连接状态。对于这个过程,我创建了一个线程,但我想要的是每 5 秒运行一次这个检查。我的第一个意图是使用Thread.Sleep()。当我结束测试时,我正在服务器上运行 Stop 方法,这会中断所有活动线程,从而导致 Thread 从等待状态中断。
我通过Task.Delay().Wait() 发现有替代方案,但这会导致同样的问题。
当我关闭服务器以结束此线程时,是否有任何其他替代 Thread.Sleep 或任何其他方式?线程正在运行 while 循环,条件为 Thread.CurrentThread.IsAlive。
【问题讨论】:
-
Dictionary<connectionID, DateTime>日期时间表示您上次检查的时间。循环可以进行检查。 -
哈!这听起来像是一个很好的解决方法!