订阅处置 -- 是否等待订阅操作结束?


var sub = observable.Subscribe(data => my_action(data));

当我处理sub变量时,它将取消订阅。好的,但是这样做时,如果已经调用了my_action,它会等待结束吗?

更新1:我要求有意识的决定,而不是一些副作用。将其与 Threading.Timer 进行比较 -- 为了等待操作,您必须调用特殊的Dispose方法。

更新2:我要求等待操作结束,而不是取消操作。

这取决于。如果操作和释放发生在同一线程上,则处置将在操作完成后发生。如果操作在与处置不同的线程上运行,则它们独立发生,并且处置可能会在执行操作时发生。

如果你的问题是,订阅处置是否会取消由先前观察触发的操作,答案是否定的。

编辑

为了回答您澄清的问题,简短的回答是否定的。立即安排处置。根据您的线程/调度程序情况,它将立即执行,或者在有可用线程时执行。

相关内容

  • 没有找到相关文章

最新更新