Partilhar via


Método TSource Observable.Synchronize<(TSource> IObservable<)>

Sincroniza a sequência observável.

Namespace:System.Reactive.Linq
Assembly: System.Reactive (em System.Reactive.dll)

Sintaxe

'Declaration
<ExtensionAttribute> _
Public Shared Function Synchronize(Of TSource) ( _
    source As IObservable(Of TSource) _
) As IObservable(Of TSource)
'Usage
Dim source As IObservable(Of TSource)
Dim returnValue As IObservable(Of TSource)

returnValue = source.Synchronize()
public static IObservable<TSource> Synchronize<TSource>(
    this IObservable<TSource> source
)
[ExtensionAttribute]
public:
generic<typename TSource>
static IObservable<TSource>^ Synchronize(
    IObservable<TSource>^ source
)
static member Synchronize : 
        source:IObservable<'TSource> -> IObservable<'TSource> 
JScript does not support generic types and methods.

Parâmetros de tipo

  • TSource
    A origem do tipo.

Parâmetros

Valor Retornado

Tipo: System.IObservable<TSource>
A sequência de origem cujas chamadas de saída para observadores são sincronizadas.

Observação de uso

No Visual Basic e no C#, você pode chamar esse método como um método de instância em qualquer objeto do tipo TSource>IObservable<. Quando você usar a sintaxe de método de instância para chamar esse método, omita o primeiro parâmetro. Para obter mais informações, consulte ou .

Comentários

Esse método Synchronize retorna uma sequência observável do tipo TSource que sincroniza chamadas de saída para os métodos de observador (OnNext, OnCompletion, OnError). Isso é feito adquirindo um bloqueio de exclusão mútua para um objeto gate . Outra sobrecarga do método Synchronize permite que você forneça seu próprio objeto gate: (Synchronize<TSource>(IObservable<TSource>, Object).

Essa sobrecarga do método Synchronize criará um novo objeto gate para cada assinatura.   Semelhante ao seguinte:

return Defer(() =>
{
  var gate = new object();
  return Synchronize(gate);
});

Consulte Também

Referência

Classe observável

Sincronizar Sobrecarga

System.Reactive.Linq Namespace