У меня есть класс,
public class Test
{
public int Calc();
}
, который требует, чтобы все вызовы Calc выполнялись в том же потоке, что и тот, в котором был создан Test.Мне нужно создать Test один раз (дорогостоящая операция) и несколько раз вызвать Calc.
Мне бы хотелось иметь обертку, которая позволит мне вызывать Calc асинхронно:
public class TestWrapper
{
private Test _test;
public IObservable<int> Calc();
}
Один способсделать это будет создать BackgroundWorker или поток и использовать его как гарантию того, что все операции в тесте выполняются в одном потоке.Для простоты можно предположить, что все вызовы Calc () будут выполняться последовательно, поэтому не нужно беспокоиться об организации очередей.
Есть ли более элегантный способ RX сделать это?