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-3.tar.gz (3.7 kB view details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for pthreading-0.1.3-3.tar.gz
Algorithm Hash digest
SHA256 a3d0d6b7c633455c364196aefc007e1178569019152444c5a1a79917bb7fd4b4
MD5 77d406bf035abf838e202a46a1832f87
BLAKE2b-256 6f0776fb656248635abb48d158fb37a843840e0187fe46e528b51187ace9a06a

See more details on using hashes here.

Supported by

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