Shared ConditionΒΆ
While not the primary focus of the library, Door also offer implementations of read-preferring and write-preferring shared conditions (readers-writer conditions).
The usual acquire/release/wait/notify interface as modelled by
door.primitives.Waitable is not sufficient to describe the
functionalities of shared conditions. Therefore, for
door.primitives.SWaitable, we expand the interface as follows:
acquire-readrelease-readwait-readwait-for-readnotify-readnotify-all-readacquire-writerelease-writewait-writewait-for-writenotify-writenotify-all-write
We offer implementations for both synchronous and asynchronous programming. These classes of shared conditions are available, for different use cases:
Read-preferring:
door.threading2.RSConditionfor multithreading.door.multiprocessing2.RSConditionfor multiprocessing.door.asyncio2.RSConditionfor asynchronous programming.
Write-preferring:
door.threading2.WSConditionfor multithreading.door.multiprocessing2.WSConditionfor multiprocessing.door.asyncio2.WSConditionfor asynchronous programming.