次の方法で共有


ReaderWriterLock.UpgradeToWriterLock メソッド (TimeSpan)

タイムアウトに TimeSpan 値を使用して、リーダー ロックをライタ ロックにアップグレードします。

Overloads Public Function UpgradeToWriterLock( _
   ByVal timeout As TimeSpan _) As LockCookie
[C#]
public LockCookie UpgradeToWriterLock(TimeSpantimeout);
[C++]
public: LockCookie UpgradeToWriterLock(TimeSpantimeout);
[JScript]
public function UpgradeToWriterLock(
   timeout : TimeSpan) : LockCookie;

パラメータ

  • timeout
    タイムアウト時間を指定する TimeSpan

戻り値

LockCookie 値。

例外

例外の種類 条件
ApplicationException timeout は、ロック要求が許可される前に期限が切れます。
ArgumentOutOfRangeException timeout は、-1 ミリ秒以外の負の値を指定します。

解説

UpgradeToWriterLock を呼び出すと、ロック カウントに関係なく、リーダー ロックは解放され、このスレッドはライタ ロックのキューの最後に格納されます。したがって、アップグレードを要求したスレッドがライタ ロックを取得する前に、別のスレッドがリソースへの書き込みを行う場合もあります。

ロックの状態を復元するには、 UpgradeToWriterLock が返した LockCookie を使用して DowngradeFromWriterLock を呼び出します。 RestoreLock でこの LockCookie を使用しないでください。

スレッドがリーダー ロックを保持していない場合は、 UpgradeToWriterLock を使用しないでください。代わりに AcquireWriterLock を使用します。

有効なタイムアウト値については、 ReaderWriterLock を参照してください。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

ReaderWriterLock クラス | ReaderWriterLock メンバ | System.Threading 名前空間 | ReaderWriterLock.UpgradeToWriterLock オーバーロードの一覧 | スレッド処理 | ReaderWriterLock