我有一个类似于以下内容的 RX 代码:
static ISubject<Unit> m_events = new Subject<Unit>();
private static EventLoopScheduler m_scheduler;
static void Main(string[] args)
{
m_scheduler = new EventLoopScheduler();
m_events.ObserveOn(m_scheduler).Subscribe(onEvent);
foo();
}
static void onEvent(Unit p)
{
// do something
}
static void foo()
{
while (true)
{
m_events.OnNext(Unit.Default);
Thread.Sleep(10);
}
}
几天一次,程序停止进入 onEvent 方法,并且永远不会恢复。(即使这样 OnNext 调用仍在发生)。
没有对订阅调用 dispose。
我使用 rx-experimental 1.11111。
什么可能导致这种情况?