AsyncReaderWriterResourceLock<TMoniker,TResource> 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
동시 액세스, 배타적 액세스 또는 배타적 액세스로 업그레이드할 수 있는 동시 액세스를 허용하여 동시 또는 배타적 액세스를 준비해야 하는 리소스에 대해 특별히 허용하는 비차단 잠금입니다.
generic <typename TMoniker, typename TResource>
where TResource : classpublic ref class AsyncReaderWriterResourceLock abstract : Microsoft::VisualStudio::Threading::AsyncReaderWriterLock
public abstract class AsyncReaderWriterResourceLock<TMoniker,TResource> : Microsoft.VisualStudio.Threading.AsyncReaderWriterLock where TResource : class
type AsyncReaderWriterResourceLock<'Moniker, 'Resource (requires 'Resource : null)> = class
inherit AsyncReaderWriterLock
Public MustInherit Class AsyncReaderWriterResourceLock(Of TMoniker, TResource)
Inherits AsyncReaderWriterLock
형식 매개 변수
- TMoniker
리소스를 식별하는 모니커의 형식입니다.
- TResource
이 잠금에 의해 액세스하기 위해 발급된 리소스의 유형입니다.
- 상속
생성자
속성
AmbientLock |
호출자의 실행 컨텍스트에서 보유한 잠금을 가져옵니다. (다음에서 상속됨 AsyncReaderWriterLock) |
CanCurrentThreadHoldActiveLock |
현재 스레드가 활성 잠금을 유지할 수 있는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 AsyncReaderWriterLock) |
CaptureDiagnostics |
교착 상태 진단 등에 유용한 정보를 수집하기 위해 추가 리소스를 사용해야 하는지 여부를 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 AsyncReaderWriterLock) |
Completion |
완료 시 이 잠금에서 더 이상 잠금을 발행하지 않음을 나타내는 작업을 가져옵니다. (다음에서 상속됨 AsyncReaderWriterLock) |
DeadlockCheckTimeout |
보류 중인 기록기 잠금 및 판독기 잠금이 교착 상태를 형성하는지 여부를 검사 시간 지연을 가져옵니다. (다음에서 상속됨 AsyncReaderWriterLock) |
IsAnyLockHeld |
호출자가 모든 종류의 잠금을 보유하고 호출자의 컨텍스트를 고려하여 즉시 사용할 수 있는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 AsyncReaderWriterLock) |
IsAnyPassiveLockHeld |
호출자 컨텍스트의 잠금 호환성과 관계없이 호출자가 잠금을 보유하는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 AsyncReaderWriterLock) |
IsPassiveReadLockHeld |
호출자 컨텍스트의 잠금 호환성과 관계없이 호출자가 읽기 잠금을 보유하는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 AsyncReaderWriterLock) |
IsPassiveUpgradeableReadLockHeld |
호출자 컨텍스트의 잠금 호환성과 관계없이 호출자가 업그레이드 가능한 읽기 잠금을 보유하는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 AsyncReaderWriterLock) |
IsPassiveWriteLockHeld |
호출자 컨텍스트의 잠금 호환성과 관계없이 호출자가 쓰기 잠금을 보유하는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 AsyncReaderWriterLock) |
IsReadLockHeld |
호출자가 읽기 잠금을 보유하는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 AsyncReaderWriterLock) |
IsUnsupportedSynchronizationContext |
현재 SynchronizationContext가 이 잠금에서 지원되지 않는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 AsyncReaderWriterLock) |
IsUpgradeableReadLockHeld |
호출자가 업그레이드 가능한 읽기 잠금을 보유하는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 AsyncReaderWriterLock) |
IsWriteLockHeld |
호출자가 쓰기 잠금을 보유하는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 AsyncReaderWriterLock) |
NoMessagePumpSynchronizationContext |
SynchronizationContext 가 적용될 때 호출 스레드의 동기 블록 중에 실행할 수 있는 메시지 펌프를 표시하지 않는 을 가져옵니다. (다음에서 상속됨 AsyncReaderWriterLock) |
SyncObject |
이 instance 필드에 대한 액세스를 동기화하는 데 사용되는 개체를 가져옵니다. (다음에서 상속됨 AsyncReaderWriterLock) |
메서드
Complete() |
새로운 최상위 잠금 요청이 거부되고 발행된 잠금이 해제된 후 Completion 작업이 완료된 상태로 전환됩니다. (다음에서 상속됨 AsyncReaderWriterLock) |
Dispose() |
동시 액세스, 배타적 액세스 또는 배타적 액세스로 업그레이드할 수 있는 동시 액세스를 허용하여 동시 또는 배타적 액세스를 준비해야 하는 리소스에 대해 특별히 허용하는 비차단 잠금입니다. (다음에서 상속됨 AsyncReaderWriterLock) |
Dispose(Boolean) |
이 instance 보유한 관리되는 리소스와 관리되지 않는 리소스를 삭제합니다. (다음에서 상속됨 AsyncReaderWriterLock) |
GetAggregateLockFlags() |
중첩된 모든 잠금에 대한 잠금 플래그의 집계를 반환합니다. |
GetHangReport() |
중단 보고서에 대한 데이터를 적용합니다. (다음에서 상속됨 AsyncReaderWriterLock) |
GetResourceAsync(TMoniker, CancellationToken) |
지정된 모니커를 사용하여 리소스를 검색합니다. |
GetTaskSchedulerForReadLockRequest() |
잠금을 획득할 때 연속 작업을 실행할 작업 스케줄러를 가져옵니다. AsyncReaderWriterLock은 특수 SynchronizationContext 를 사용하여 배타적 잠금을 처리하고 제공된 작업 스케줄러를 무시하므로 읽기 잠금 시나리오에서만 사용됩니다. 이 메서드는 현재 실행 컨텍스트에 따라 선택할 TaskScheduler 수 있도록 읽기 잠금을 대기하기 위해 실행 컨텍스트 내에서 호출됩니다. 참고: 작업 스케줄러는 나중에 잠금이 실행될 때만 사용됩니다. true를 반환할 때 CanCurrentThreadHoldActiveLock 잠금이 즉시 실행되면 무시됩니다. (다음에서 상속됨 AsyncReaderWriterLock) |
GetTaskSchedulerToPrepareResourcesForConcurrentAccess(TResource) |
동시 액세스를 위한 리소스를 준비하는 작업 스케줄러를 가져옵니다. |
HideLocks() |
반환된 값을 삭제할 때까지 호출자의 잠금을 사용하거나 표시하지 않도록 합니다. (다음에서 상속됨 AsyncReaderWriterLock) |
LockStackContains(AsyncReaderWriterLock+LockFlags, AsyncReaderWriterLock+LockHandle) |
잠금 스택의 모든 잠금에서 집계된 플래그가 지정된 플래그를 충족하는지 여부를 확인합니다. (다음에서 상속됨 AsyncReaderWriterLock) |
OnBeforeExclusiveLockReleasedAsync() |
마지막 쓰기 잠금이 해제될 때 발생합니다. (다음에서 상속됨 AsyncReaderWriterLock) |
OnBeforeLockReleasedAsync(Boolean, AsyncReaderWriterLock+LockHandle) |
잠금이 해제될 때 발생합니다. (다음에서 상속됨 AsyncReaderWriterLock) |
OnBeforeWriteLockReleased(Func<Task>) |
호출자가 보유한 쓰기 잠금이 궁극적으로 해제될 때 호출할 콜백을 등록합니다(가장 바깥쪽 쓰기 잠금). (다음에서 상속됨 AsyncReaderWriterLock) |
OnCriticalFailure(Exception) |
잠금이 내부 오류 또는 잘못된 사용 패턴을 감지하여 애플리케이션에 즉시 보고해야 하는 심각한 결함을 나타내거나 중단 또는 데이터 손상을 방지하기 위해 프로세스를 중단할 때 호출됩니다. (다음에서 상속됨 AsyncReaderWriterLock) |
OnCriticalFailure(String) |
잠금이 내부 오류 또는 잘못된 사용 패턴을 감지하여 애플리케이션에 즉시 보고해야 하는 심각한 결함을 나타내거나 중단 또는 데이터 손상을 방지하기 위해 프로세스를 중단할 때 호출됩니다. (다음에서 상속됨 AsyncReaderWriterLock) |
OnExclusiveLockReleasedAsync() |
단독 잠금이 해제된 후 호출되지만 누군가가 잠금을 입력할 기회가 있기 전에 호출됩니다. |
OnUpgradeableReadLockReleased() |
최상위 업그레이드 가능한 읽기 잠금이 해제되어 남은(쓰기) 잠금을 남기지 않을 때 호출됩니다. |
PrepareResourceForConcurrentAccessAsync(TResource, CancellationToken) |
동시 액세스할 리소스를 준비합니다. |
PrepareResourceForExclusiveAccessAsync(TResource, AsyncReaderWriterResourceLock<TMoniker,TResource>.LockFlags, CancellationToken) |
하나의 스레드로 액세스할 리소스를 준비합니다. |
ReadLockAsync(CancellationToken) |
읽기 잠금을 가져오고, 즉시 사용할 수 없는 경우 잠금을 비동기적으로 기다립니다. |
SetAllResourcesToUnknownState() |
알 수 없는 상태로 간주할 모든 리소스를 설정합니다. |
SetResourceAsAccessed(Func<TResource,Object,Boolean>, Object) |
로드된 리소스가 일부 조건자를 충족하는 경우 잠금에서 검색된 것으로 표시합니다. |
SetResourceAsAccessed(TResource) |
리소스를 잠금 상태에서 가져온 것으로 표시합니다. |
UpgradeableReadLockAsync(AsyncReaderWriterLock+LockFlags, CancellationToken) |
읽기 잠금을 가져오고, 즉시 사용할 수 없는 경우 잠금을 비동기적으로 기다립니다. (다음에서 상속됨 AsyncReaderWriterLock) |
UpgradeableReadLockAsync(AsyncReaderWriterResourceLock<TMoniker,TResource>.LockFlags, CancellationToken) |
읽기 잠금을 가져오고, 즉시 사용할 수 없는 경우 잠금을 비동기적으로 기다립니다. |
UpgradeableReadLockAsync(CancellationToken) |
즉시 사용할 수 없는 경우 잠금을 비동기적으로 기다리는 업그레이드 가능한 읽기 잠금을 가져옵니다. |
WriteLockAsync(AsyncReaderWriterLock+LockFlags, CancellationToken) |
쓰기 잠금을 가져오고, 즉시 사용할 수 없는 경우 잠금을 비동기적으로 기다립니다. (다음에서 상속됨 AsyncReaderWriterLock) |
WriteLockAsync(AsyncReaderWriterResourceLock<TMoniker,TResource>.LockFlags, CancellationToken) |
쓰기 잠금을 가져오고, 즉시 사용할 수 없는 경우 잠금을 비동기적으로 기다립니다. |
WriteLockAsync(CancellationToken) |
쓰기 잠금을 가져오고, 즉시 사용할 수 없는 경우 잠금을 비동기적으로 기다립니다. |
명시적 인터페이스 구현
IHangReportContributor.GetHangReport() |
중단 보고서에 대한 데이터를 적용합니다. (다음에서 상속됨 AsyncReaderWriterLock) |
적용 대상
스레드 보안
이 형식은 모든 멤버에 대해 스레드로부터 안전합니다.