Skip to main content

Reimplement threading.Lock, RLock and Condition with libpthread

Project description

Reimplement threading.Lock, RLock and Condition with libpthread

The pthreading module provides Lock and Condition synchronization objects compatible with Python native threading module. The implementation, however, is based on POSIX thread library as delivered by the libpthread. Lock and Condition are designed to be a drop-in replacement for their respective threading counterpart.

Take a look at threading.py of Python 2. Notice that Event.wait() wakes 20 times a second and checks if the event has been set. This CPU hogging has been fixed in Python 3, but is not expected to change during Python 2 lifetime.

To avoid this waste of resources, put in your main module:

import pthreading
pthreading monkey_patch()

This would hack the Linux-native threading module, and make it use Linux-native POSIX synchronization objects.

The pthreading code was originally written as part of Vdsm by Cyril Plisko, Saggi Mizrahi and others. For questions, comments and patches please contact vdsm-devel.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pthreading-0.1.3.tar.gz (3.6 kB view details)

Uploaded Source

File details

Details for the file pthreading-0.1.3.tar.gz.

File metadata

  • Download URL: pthreading-0.1.3.tar.gz
  • Upload date:
  • Size: 3.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pthreading-0.1.3.tar.gz
Algorithm Hash digest
SHA256 4794617549b32e91a81135bba424c19eee5477b1987ba5f0e238607567890c55
MD5 515f3a9a1426c5fcb3a994354ed8955a
BLAKE2b-256 7e2955e6dcd37f20ad49ae2376d02c51d3f269838eaf9038d0f50e6a171bf7dd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page