From 32828d3a6529ee0b2dbf4ff205c5650f77d9b8ad Mon Sep 17 00:00:00 2001 From: Lerking <33354709+Lerking@users.noreply.github.com> Date: Thu, 17 May 2018 13:47:17 +0200 Subject: [PATCH] Add files via upload --- Multiprocessing test/ticker.py | 58 ++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 Multiprocessing test/ticker.py diff --git a/Multiprocessing test/ticker.py b/Multiprocessing test/ticker.py new file mode 100644 index 0000000..dab4db4 --- /dev/null +++ b/Multiprocessing test/ticker.py @@ -0,0 +1,58 @@ +import threading +import multiprocessing +import time +import sys + +def network_worker(tq, wq): + ticker_queue = tq + work_queue = wq + while ticker_queue.empty() is not True: + ticker = tq.get() + print(threading.currentThread().getName(),"recieved ",ticker) + work_queue.put(ticker-1000) + time.sleep(0.02) + #ticker_queue.task_done() + work_queue.put(None) + return + +def worker(wq): + work_queue = wq + while work_queue.get() is not None: + task = work_queue.get() + print(multiprocessing.current_process(),"recieved",task) + #work_queue.task_done() + return + +ticker_queue = multiprocessing.JoinableQueue() + +work_queue = multiprocessing.JoinableQueue() +tickers = range(1000) +processes = [] + +for i in tickers: + ticker_queue.put(i) + +for i in range(20): + t = threading.Thread(target=network_worker, args = (ticker_queue, work_queue)) + t.deamon = True + print("Starting: ",t.name) + t.start() + +for i in range(4): + p = multiprocessing.Process(target = worker, args = (work_queue, )) + #p.deamon = True + print("Starting: ",p.name) + p.start() + processes.append(p) + +if work_queue.empty() == True: + for p in processes: + p.terminate() + p.join() + +print("Resulting work:", work_queue) + + + + +