IObserver方法中发生的变异是否应该是线程安全的?

时间:2019-05-03 09:29:52

标签: thread-safety task-parallel-library system.reactive

你好,我遇到了以下问题。我有一个class,它产生了一个运行时间较长的task。在这个task中,该类的一个字段得到mutated。 此类还实现了IObserver。前面提到的对象也可以在OnNext方法内进行更改。 我内部不知道如何实现Observables,但我想等式中至少还有另一个thread

class Worker:IObserver<bool>
{
   //private readonly object @lock=new object();
   private bool Variable;
   public async Task Loop()
   {
       while(true)
       {
          //some async operation
          //lock(@lock){
          Variable=true;
         //}
       }
   }
   public void OnNext(bool newValue)
   {
       //lock(@lock){
      Variable=false;
      // }
   }
   public void OnError(){ }
   public void OnCompleted(){ }
}

0 个答案:

没有答案