관찰 가능한 시퀀스를 동기화합니다.
네임스페이스:System.Reactive.Linq
어셈블리: System.Reactive(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.
형식 매개 변수
- TSource
형식 원본입니다.
매개 변수
- source
형식: System.IObservable<TSource>
소스 시퀀스입니다.
반환 값
형식: System.IObservable<TSource>
관찰자에 대한 나가는 호출이 동기화되는 원본 시퀀스입니다.
사용 정보
Visual Basic 및 C#에서는 IObservable TSource> 형식의 모든 개체에서 이 메서드를 instance 메서드로 호출할 수 있습니다<. 인스턴스 메서드 구문을 사용하여 이 메서드를 호출할 경우에는 첫 번째 매개 변수를 생략합니다. 자세한 내용은 또는 를 참조하세요.
설명
이 Synchronize 메서드는 관찰자 메서드(OnNext, OnCompletion, OnError)에 대한 나가는 호출을 동기화하는 TSource 형식의 관찰 가능한 시퀀스를 반환합니다. 이는 게이트 개체에 대한 상호 배제 잠금을 획득하여 수행됩니다. Synchronize 메서드의 또 다른 오버로드를 사용하면 고유한 게이트 개체(Synchronize<TSource(IObservable TSource>>, Object)를 제공할 수<있습니다.
Synchronize 메서드의 이 오버로드는 각 구독에 대한 새 게이트 개체를 만듭니다. 다음과 유사:
return Defer(() =>
{
var gate = new object();
return Synchronize(gate);
});