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.13-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24c3b3e91945e2095a3fb17a77a2a83b05ee1797fd1bfdc43d130f45ee93bdcc |
|
MD5 | 453814eb5bfc73fad1929ef86ee10dc6 |
|
BLAKE2b-256 | 35b98851a007aef6753df9255d4283ea38278da821a7ba04e96db6ba836699e6 |