Microsoft.Coyote.Tasks namespace

public type description
class AsyncLock A non-reentrant mutual exclusion lock that can be acquired asynchronously in a first-in first-out order. During testing, the lock is automatically replaced with a controlled mocked version.
class Semaphore A semaphore that limits the number of tasks that can access a resource. During testing, the semaphore is automatically replaced with a controlled mocked version.
class SynchronizedBlock Provides a mechanism that synchronizes access to objects. It is implemented as a thin wrapper on Monitor. During testing, the implementation is automatically replaced with a controlled mocked version. It can be used as a replacement of the lock keyword to allow systematic testing.
class Task<TResult> Represents an asynchronous operation that can return a value. Each Task is a thin wrapper over Task and each call simply invokes the wrapped task. During testing, a Task is controlled by the runtime and systematically interleaved with other asynchronous operations to find bugs.
class Task Represents an asynchronous operation. Each Task is a thin wrapper over Task and each call simply invokes the wrapped task. During testing, a Task is controlled by the runtime and systematically interleaved with other asynchronous operations to find bugs.
class TaskCompletionSource<TResult> Represents the producer side of a task unbound to a delegate, providing access to the consumer side through the Task property.
static class TaskCompletionSource Represents the producer side of a task unbound to a delegate, providing access to the consumer side through the Task property.
static class TaskExtensions Extension methods for Task and Task objects.