Share via

Observable.Synchronize<TSource> Method (IObservable<TSource>, Object)

Synchronizes the observable sequence.

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


<ExtensionAttribute> _
Public Shared Function Synchronize(Of TSource) ( _
    source As IObservable(Of TSource), _
    gate As Object _
) As IObservable(Of TSource)
Dim source As IObservable(Of TSource)
Dim gate As Object
Dim returnValue As IObservable(Of TSource)

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

Type Parameters

  • TSource
    The type of source.


  • gate
    Type: System.Object
    The gate object to synchronize each observer call on.

Return Value

Type: System.IObservable<TSource>
The source sequence whose outgoing calls to observers are synchronized on the given gate object.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type IObservable<TSource>. When you use instance method syntax to call this method, omit the first parameter. For more information, see or .


This Synchronize method returns an observable sequence of the type TSource which synchronizes outgoing calls to the observer methods (OnNext, OnCompletion, OnError). This is accomplished by acquiring a mutual-exclusion lock for the object provided as the gate parameter.

See Also


Observable Class

Synchronize Overload

System.Reactive.Linq Namespace