Skip to main content

Release 20190812: bg: compute default name before wrapping func in @logexc.

Thread related convenience classes and functions.

Class AdjustableSemaphore

A semaphore whose value may be tuned after instantiation.

Function bg(func, daemon=None, name=None, no_start=False, no_logexc=False)

Dispatch the callable func in its own Thread; return the Thread.

Parameters:

  • func: callable to run in its own Thread.
  • daemon: optional argument specifying the .daemon attribute.
  • name: optional argument specifying the Thread name.
  • no_start: optional argument, default False. If true, do not start the Thread.
  • no_logexc: if false (default False), wrap func in @logexc.

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.

Method WorkerThreadPool.__init__(self, name=None, max_spare=4)

Initialise the WorkerThreadPool.

Paramaters: name: optional name for the pool max_spare: maximum size of each idle pool (daemon and non-daemon)

Class WTPoolEntry

MRO: builtins.tuple
WTPoolEntry(thread, queue)

Release Log

Release 20190812: bg: compute default name before wrapping func in @logexc.

Release 20190729: bg: provide default name, run callable inside Pfx, add optional no_logexc=False param preventing @logec wrapper if true.

Release 20190422: bg(): new optional no_start=False keyword argument, preventing Thread.start if true

Release 20190102: Drop some unused classes. New LockableMixin, presenting a context manager and a .lock property.

Release 20160828: Use "install_requires" instead of "requires" in DISTINFO.

Release 20160827: Replace bare "excepts" with "except BaseException". Doc updates. Other minor improvements.

Release 20150115: First PyPI release.

Metadata

Release files for cs-threads 20190812

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cs-threads 20190812
File Size Uploaded
cs.threads-20190812.tar.gz 6.1 kB Details

Release files / cs.threads-20190812.tar.gz

Download URL cs.threads-20190812.tar.gz
Size 6.1 kB
Tags Source
SHA-256 checksum
How to use checksums
c606eed63a585d2c3e31ceef865d00dd2cbdb071acd01e1222d8b7a0c89365b7
BLAKE2b-256 checksum
How to use checksums
d84d7b9e21fb6c0efae75e98a4a1b8580bc1a8f8c0ee9c245002f37f2555aae5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.4
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page