![]() | com.espertech.esper.compat.threading.locks Namespace |
[Missing <summary> documentation for "N:com.espertech.esper.compat.threading.locks"]
Class | Description | |
---|---|---|
![]() | DefaultLockManager | |
![]() | DefaultReaderWriterLockManager | |
![]() | DummyReaderWriterLock |
Uses a standard lock to model a reader-writer ... not for general use
|
![]() | FairReaderWriterLock | |
![]() | FifoReaderWriterLock | |
![]() | FifoReaderWriterLockNode | |
![]() | LockableExtensions | |
![]() | LockConstants |
Constants we keep for our locking algorithms.
|
![]() | MonitorLock |
MonitorLock is a class for assisting people with synchronized operations.
Traditionally, code might have looked something like this:
lock( object ) { ... } if (Monitor.TryEnter(object, timeout)) { try { ... } finally { Monitor.Exit(object); } } using(lockObj.Acquire()) {
...
} MonitorLock allows users to specify events that can be consumed on lock acquisition or release. Additionally, it can inform you when a lock is acquired within an existing lock. And last, if you want to know where your locks are being acquired, it can maintain a StackTrace of points where allocations are occuring. |
![]() | MonitorSlimLock | |
![]() | MonitorSpinLock | |
![]() | SlimLock |
: a simple spinLock algorithm. The spinLock will attempt
to exchange a value atomically. If the exchange can not be done then
the spinLock will enter a loop for a maximum amount of time as
specified. In the loop it will use a spinWait to allow the CPU to
idle for a few cycles in an attempt to wait for the resource to be
freed up. If after a number of attempts the resource has not been
freed, the spinLock will give up its quanta using a sleep. The sleep
will force the thread to yield and if all goes well releases the thread
(which may be on the same processor) to release the critical resource.
There's no reason to use this as a general purpose lock, monitors do
just fine.
|
![]() | SlimReaderWriterLock | |
![]() | StandardReaderWriterLock | |
![]() | TelemetryEngine | |
![]() | TelemetryEventArgs | |
![]() | TelemetryLock | |
![]() | TelemetryLockCategory | |
![]() | TelemetryProbe | |
![]() | TelemetryReaderWriterLock | |
![]() | VoidLock | |
![]() | VoidReaderWriterLock |
Interface | Description | |
---|---|---|
![]() | ILockable |
A simple locking mechanism
|
![]() | ILockManager | |
![]() | IReaderWriterLock | |
![]() | IReaderWriterLockCommon |
Simple boilerplate for common reader-writer lock implementations
|
![]() | IReaderWriterLockCommonT | |
![]() | IReaderWriterLockManager |