문제

나는 큐 (특히 동시 queceue)를 iObservable의 원천으로 사용할 수 있는지 궁금했다. 같은 것;

  Queue = new ConcurrentQueue<IMessage>();
  var xs = Queue.AsEnumerable().ToObservable();

  xs.Subscribe((IMessage msg) =>
     {
        Console.WriteLine("Msg :" + msg.subject);
     });

아무것도 탈출되지 않기 때문에 실제로 의미가 없다고 생각합니다. 나는 관찰자에게 푸시되는 "메시지"를 구독 할 수있는 비 블로킹 프로세스를 구현하려고합니다. 따라서 대기열을 사용합니다. RX 로이 작업을 수행 할 수 있어야한다고 확신하지만 머리를 둘러 볼 수는 없습니다!

나는 이것이 어떻게 구현 될 수 있는지에 대한 제안에 관심이 있습니다. 감사!

도움이 되었습니까?

해결책

당신이 옳고, 큐를 변환하는 것은 (동시 또는 단순, 중요하지 않음) 그것을 열거 할 뿐이지 만, de- 큐인은 아닙니다. "실제"구현이 가능하지만 더 복잡합니다. RX 포럼에서 요청한 유사한 질문에 대한 링크 (StackoverFlow와 비교하는 RX에 대한 더 나은 정보 소스)를 참조하십시오.

RX를 사용하여 단일 작업자 소비자 생산자 대기열을 구현하는 방법은 무엇입니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top