threading and communication/synchronisation conveniences
Project description
Thread related convenience classes and functions.
Class AdjustableSemaphore
A semaphore whose value may be tuned after instantiation.
Function bg(func, daemon=None, name=None)
Dispatch the callable func
in its own Thread; return the Thread.
Parameters:
daemon
: optional argument specifying the .daemon attribute.
name
: optional argument specifying the Thread name.
Class LockableMixin
Trite mixin to control access to an object via its ._lock attribute. Exposes the ._lock as the property .lock. Presents a context manager interface for obtaining an object's lock.
Function locked(func)
A decorator for monitor functions that must run within a lock. Relies upon a ._lock attribute for locking.
Function locked_property(func, lock_name='_lock', prop_name=None, unset_object=None)
A thread safe property whose value is cached. The lock is taken if the value needs to computed.
Function via(cmanager, func, *a, **kw)
Return a callable that calls the supplied func
inside a
with statement using the context manager cmanager
.
This intended use case is aimed at deferred function calls.
Class WorkerThreadPool
MRO: cs.resources.MultiOpenMixin
, cs.obj.O
A pool of worker threads to run functions.
Class WTPoolEntry
MRO: builtins.tuple
WTPoolEntry(thread, queue)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file cs.threads-20190102.tar.gz
.
File metadata
- Download URL: cs.threads-20190102.tar.gz
- Upload date:
- Size: 5.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.23.0 CPython/3.6.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6b8b21d63b7fd1a7749cbb3efd3c049092fcbc831454cbb7b95573e3dc977ee |
|
MD5 | 258c63e7236ab9057a9e553ab181ddd7 |
|
BLAKE2b-256 | 6fce6decb7a1ca1f4dbb4ffe0ffd5c1611a702f6cc92b5a2ea81f999a4514114 |