【发布时间】:2011-08-16 10:42:15
【问题描述】:
我有课,
public class Test
{
public int Calc();
}
这要求对 Calc 的所有调用都在与创建 Test 的线程相同的线程上执行。我需要创建一次Test(操作成本高)并多次调用Calc。
我想要一个可以让我异步调用 Calc 的包装器:
public class TestWrapper
{
private Test _test;
public IObservable<int> Calc();
}
一种方法是创建一个 BackgroundWorker 或一个 Thread 并使用它来保证 Test 上的所有操作都在同一个线程上。为简单起见,我们可以假设所有对 Calc() 的调用都将按顺序执行,因此无需担心排队。
有没有更优雅的 RX 方式来做到这一点?
【问题讨论】:
标签: c# system.reactive