Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Synchronizes the observable sequence.
Namespace: System.Reactive.Linq
Assembly: 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.
Type Parameters
- TSource
The type source.
Parameters
- source
Type: System.IObservable<TSource>
The source sequence.
Return Value
Type: System.IObservable<TSource>
The source sequence whose outgoing calls to observers are synchronized.
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 .
Remarks
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 a gate object. Another overload of the Synchronize method allows you to provide your own gate object: (Synchronize<TSource>(IObservable<TSource>, Object).
This overload of the Synchronize method will create a new gate object for each subscription. Similar to the following:
return Defer(() =>
{
var gate = new object();
return Synchronize(gate);
});