Skip to main content

Introduction

https://secure.travis-ci.org/pyrenees/plone.synchronize.png

This package provides a simple decorator to help synchronize methods across threads, to avoid problems of concurrent access.

It can be used like this:

from threading import Lock
from plone.synchronize import synchronized

class StupidStack(object):

    _elements = [] # not thread safe
    _lock = Lock()

    @synchronized(_lock)
    def push(self, item):
        self._elements.append(item)

    @synchronized(_lock)
    def pop(self):
        last = self._elements[-1]
        del self._elements[-1]
        return last

The decorator takes care of calling lock.acquire() just before the method is executed, and lock.release() just after. If an exception is raised in the method, the lock will still be released.

Changelog

1.0.4 (2020-04-22)

New features:

  • Drop Python 2.6 support. Support 2.7, 3.5-3.8, PyPy2/3. Added tox for local testing. [maurits] (#2)

1.0.3 (2018-03-10)

Bug fixes:

  • Release it as a wheel as well as an egg. [gforcada]

1.0.2 (2016-11-01)

New features:

  • Test Python 3 compatibility. [datakurre]

1.0.1 - 2011-05-20

  • Add license metadata. [davisagli]

1.0 - 2011-04-30

  • No changes

1.0b1 - 2009-03-30

  • Initial release

Release files for plone.synchronize 1.0.4

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

Source distribution (sdist)

Source distribution for plone.synchronize 1.0.4
File Size Uploaded
plone.synchronize-1.0.4.tar.gz 5.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for plone.synchronize 1.0.4
File Interpreter ABI Platform
plone.synchronize-1.0.4-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 9.4 kB

Release files / plone.synchronize-1.0.4.tar.gz

Download URL plone.synchronize-1.0.4.tar.gz
Size 5.0 kB
Tags Source
SHA-256 checksum
How to use checksums
955be1fb52f0ed1ad132181a7537287940706655d5ad41e9c7aa248246b6fa57
BLAKE2b-256 checksum
How to use checksums
2c2c1dabf7078e57c6ba63822a2497004515c03581a0ad485be63056f1943c10
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/2.7.17

Release files / plone.synchronize-1.0.4-py2.py3-none-any.whl

Download URL plone.synchronize-1.0.4-py2.py3-none-any.whl
Size 4.4 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
e53c02229fe692b16b7104fe8c44a4c032543264cee2079fdee4a6fa781c261f
BLAKE2b-256 checksum
How to use checksums
f2f4ba6bc14f9cf57885bcd63c96758a2b80dfce5a8c14cd689ff3192fa167c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/2.7.17

Release history Release notifications | RSS feed

This release

1.0.4 This release

2 release files

1.0.3

2 release files

1.0.2

1 release file

1.0.1

1 release file

1.0

1 release file

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