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.10-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9468c5e6b752c7848406503d6dd5ebb4c6a628fc7e5bf0742fb92b08b3406747 |
|
MD5 | f70c8c365c5887f060663756aa6ec5c7 |
|
BLAKE2b-256 | e743fde83e72a08aea3411dfc4ed07890d80bfefbfb4305d2d3eda3ac8f12565 |