Show / Hide Table of Contents

#

### Classes

#### Coroutines

A class providing coroutine helpers.

#### SingleCreationValueCache<TKey, TValue>

A dictionary-like type intended for thread-safe value caches whose values are created only once ever.

#### SingleThreadTaskScheduler

A single-threaded task scheduler that runs all of its tasks on the same thread.

#### Synchronization

Utilities for inter-thread synchronization. All Locker method acquire their object immediately, and should only be used with langword_csharp_using to automatically release them.

#### UnityMainThreadTaskScheduler

A task scheduler that runs tasks on the Unity main thread via coroutines.

### Structs

#### Synchronization.MutexLocker

A locker for a Mutex that automatically releases when it is disposed. Create this with Lock(Mutex).

#### Synchronization.ReaderWriterLockSlimReadLocker

A locker for a read lock on a ReaderWriterLockSlim that automatically releases when it is disposed. Create this with LockRead(ReaderWriterLockSlim).

#### Synchronization.ReaderWriterLockSlimUpgradableReadLocker

A locker for an upgradable read lock on a ReaderWriterLockSlim that automatically releases when it is disposed. Create this with LockReadUpgradable(ReaderWriterLockSlim).

#### Synchronization.ReaderWriterLockSlimWriteLocker

A locker for a write lock on a ReaderWriterLockSlim that automatically releases when it is disposed. Create this with LockWrite(ReaderWriterLockSlim).

#### Synchronization.SemaphoreLocker

A locker for a Semaphore that automatically releases when it is disposed. Create this with Lock(Semaphore).

#### Synchronization.SemaphoreSlimAsyncLocker

A locker for a SemaphoreSlim that was created asynchronously and automatically releases when it is disposed. Create this with LockAsync(SemaphoreSlim).

#### Synchronization.SemaphoreSlimLocker

A locker for a SemaphoreSlim that automatically releases when it is disposed. Create this with Lock(SemaphoreSlim).