A small module to support automation of generating valid python variable names from external data.
Project description
threaders
threaders is a small module to help write
clean threaded code using threading decorators
and minimize repeating copy-paste actions.
Installing
Install and update using pip:
pip install -U threaders
A Simple Example:
from threaders import threaders
import time
@threaders.threader()
def function_to_be_threaded(x):
“”” :rtype: Thread “””
t = time.time()
time.sleep(0.5*(x+0.1)/5+0.05)
return time.time()-t
def main():
# create threads
threads = []
for i in range(10):
threads.append(function_to_be_threaded(i))
# get first result
print(threaders.get_first_result(threads))
# kill threads
t = time.time()
for thread in threads:
thread.join()
print(“all threads terminated: {}”.format(time.time()-t))
if __name__ == “__main__”:
main()
Example with a thread pool:
from random import randrange
from time import sleep
import threading
delays = [randrange(1, 3) for i in range(50)]
print_lock = threading.Lock()
def wait_delay(i, d):
with print_lock:
print(‘{} sleeping for ({})sec’.format(i, d))
sleep(d)
pool = threaders.ThreadPool(10)
for i, d in enumerate(delays):
pool.put(wait_delay, i, d)
pool.join()
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
Hashes for threaders-0.2.11-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72e1aa5e2c1c9e776b2c9c4b801dbaaaa38890b961989768e1fdaa22d335e3a6 |
|
MD5 | d4162d87a670e9186a2eb2d67fac5cff |
|
BLAKE2b-256 | 7320474ad9311b0e6811b98c8cad02931d894fe4b55bc91a1f69d728e6d583b1 |