EventLoopScheduler Bug?



我想我在EventLoopScheduler中发现了一个错误。这是一个复制它的单元测试。

using System;
using System.Threading;
using NUnit.Framework;
using System.Reactive.Concurrency;
namespace EventLoopSchedulerTests {
    [TestFixture]
    public class EventLoopSchedulerTests {
    [Test]
    public void TestEventLoopScheduler() {
      var scheduler = new EventLoopScheduler();
      scheduler.Schedule(TimeSpan.FromMinutes(1), () => { });
      Thread.Sleep(1000);
      scheduler.Schedule(TimeSpan.FromMinutes(2), () => { });
      Thread.Sleep(1000*60);
    }
  }
}

如果你运行这个单元测试,一个核心将100%运行一分钟。

我查看了代码中的Reflector并对其进行了分析,我认为问题在于,如果在"当前"操作之后安排第二次操作,则ManualResetEvent不会重置。

这是已知的问题吗?有变通办法吗?我是不是错过了什么?

我在反应式扩展论坛上得到了答案。http://social.msdn.microsoft.com/Forums/en-US/rx/thread/8705ddf1-7cd2-41a1-b1b2-47d68f895053

相关内容

  • 没有找到相关文章

最新更新