12,925
回編集
(→排他処理) |
|||
341行目: | 341行目: | ||
*: lockキーワードは内部的に<code>Monitor</code>クラスを使用している。 | *: lockキーワードは内部的に<code>Monitor</code>クラスを使用している。 | ||
*: <code>Monitor</code>クラスを直接使用する場合、より細かい制御が可能になる。 | *: <code>Monitor</code>クラスを直接使用する場合、より細かい制御が可能になる。 | ||
*: <br> | *: <br> | ||
* ReaderWriterLockSlim | * ReaderWriterLockSlim | ||
358行目: | 350行目: | ||
*: <br> | *: <br> | ||
*: ただし、小規模なファイル操作の場合は、ReaderWriterLockSlimのオーバーヘッドがlockキーワードよりも大きくなる可能性があることに注意する。 | *: ただし、小規模なファイル操作の場合は、ReaderWriterLockSlimのオーバーヘッドがlockキーワードよりも大きくなる可能性があることに注意する。 | ||
*: <br> | |||
* Mutexクラス | |||
*: プロセス間の同期に使用する。 | |||
*: 複数のアプリケーションインスタンス間での排他制御が必要な場合に適している。 | |||
*: <br> | |||
* Semaphore / SemaphoreSlim | |||
*: リソースへのアクセスを制限する必要がある場合に使用する。 | |||
*: 例えば、同時に最大N個のスレッドがリソースにアクセスできるようにする場合等である。 | |||
*: <br> | *: <br> | ||
* Interlockedクラス | * Interlockedクラス |