我希望在我的应用程序中有一个线程执行任务后睡眠一段特定的时间。我使用Thread.Sleep()
,并将TimeSpan
值作为参数。这个方法运行良好。但是当我设置一个较大的值,比如25.20:30:40(25天20小时20分钟40秒),它会抛出ArgumentOutOfRangeException
异常。
http://msdn.microsoft.com/en-us/library/274eh01d(v=vs.110).aspx
异常情况
参数超出范围 当timeout的值为负数且不等于以毫秒为单位的Timeout.Infinite,或者大于Int32.MaxValue毫秒。
休眠时间的值从配置文件中读取。在测试期间,测试人员将此值设置为上述高值。我感兴趣的是知道使我的线程在指定的时间内不执行任何操作的更好方法。(即使它太高了。)
25.20:30:40
是什么? - Rotem