Freigeben über


Observable.Synchronize<TSource-Methode> (IObservable<TSource>)

Synchronisiert die beobachtbare Sequenz.

Namespace:System.Reactive.Linq
Versammlung: System.Reactive (in System.Reactive.dll)

Syntax

'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.

Typparameter

  • TSource
    Die Typenquelle.

Parameter

Rückgabewert

Typ: System.IObservable<TSource>
Die Quellsequenz, deren ausgehende Aufrufe von Beobachtern synchronisiert werden.

Hinweis zur Verwendung

In Visual Basic und C# können Sie diese Methode als instance-Methode für jedes Objekt vom Typ IObservable<TSource> aufrufen. Bei Verwendung der Syntax für Instanzenmethoden lassen Sie den ersten Parameter aus. Weitere Informationen finden Sie unter oder .

Bemerkungen

Diese Synchronize-Methode gibt eine beobachtbare Sequenz vom Typ TSource zurück, die ausgehende Aufrufe mit den Beobachtermethoden (OnNext, OnCompletion, OnError) synchronisiert. Dies wird erreicht, indem eine Sperre für gegenseitigen Ausschluss für ein Gate-Objekt abgerufen wird. Mit einer weiteren Überladung der Synchronize-Methode können Sie Ihr eigenes Gate-Objekt bereitstellen: (Synchronize<TSource>(IObservable<TSource>, Object).

Diese Überladung der Synchronize-Methode erstellt ein neues Gate-Objekt für jedes Abonnement. Ähnelt dem Folgenden:

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

Weitere Informationen

Verweis

Observable-Klasse

Synchronisieren der Überladung

System.Reactive.Linq-Namespace