Thread-safe double-ended queue
Project description
tsdeque — Thread-Safe Deque with Task Tracking ⚙️
English
tsdeque is a thread-safe, double-ended queue implementation with built-in task tracking and threshold-based event notifications. Designed for multi-threaded environments, it ensures safe concurrent access and precise control over queue size and task completion status.
Features
- Thread-safe double-ended queue (
deque) operations - Support for max size limitation with blocking
putoperations - Task counting with
task_done()andjoin()methods, similar toqueue.Queue - Threshold events triggered on hitting min/max counts
- Customizable blocking timeouts on put/get operations
- Designed with performance and correctness in mind
Installation
pip install tsdeque
Usage example
from tsdeque import ThreadSafeDeque
deque = ThreadSafeDeque(maxsize=5)
deque.put("item")
item = deque.get()
deque.task_done()
deque.join()
Testing 🧪
Run tests with:
python -m pytest
Русский
tsdeque — потокобезопасная двухсторонняя очередь с учетом количества задач и триггерами событий на пороговых значениях. Подходит для многопоточного программирования, гарантирует корректный доступ и управление размером очереди и состоянием задач.
Возможности
- Потокобезопасные операции с двухсторонней очередью (
deque) - Поддержка ограничения по максимальному размеру с блокирующими операциями
put - Подсчет задач с методами
task_done()иjoin(), аналогичноqueue.Queue - События срабатывают при достижении минимальных и максимальных порогов
- Настраиваемые таймауты блокирующих операций
- Оптимизирован для производительности и надежности
Установка
pip install tsdeque
Пример использования
from tsdeque import ThreadSafeDeque
deque = ThreadSafeDeque(maxsize=5)
deque.put("item")
item = deque.get()
deque.task_done()
deque.join()
Тестирование 🧪
Запуск тестов:
python -m pytest
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tsdeque-1.0.1.tar.gz.
File metadata
- Download URL: tsdeque-1.0.1.tar.gz
- Upload date:
- Size: 11.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e932d5f015e66679a783dc250c8cff862d6f8238cfa2def430e9586c5a64bc78
|
|
| MD5 |
dc64f4c2a7901ae4d28e2b72013196b3
|
|
| BLAKE2b-256 |
0604661d026fb46490e2e5511493ebc10591f5b7bae658f5379996f41e381f31
|
File details
Details for the file tsdeque-1.0.1-py3-none-any.whl.
File metadata
- Download URL: tsdeque-1.0.1-py3-none-any.whl
- Upload date:
- Size: 10.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f4cdd8b87248bbea9d6db809d2b70a1500dc114a8123b4ce596903c11084b3b1
|
|
| MD5 |
c509b3c90db07864d77a780d3b7553d9
|
|
| BLAKE2b-256 |
903dbe09a284447758b338f874f213e1700731a2d09cb2f3f1e648d5ba8fcb17
|