Hello World
unknown
python
9 months ago
1.4 kB
2
Indexable
# Import necessary libraries import multiprocessing import threading import time import queue import os # Define constants NUM_WORKERS = 4 TASK_QUEUE = queue.Queue() def string_builder(): """ Joins the text "Hello world" """ return ''.join(['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']) def worker(task_queue, result_queue): while not task_queue.empty(): task = task_queue.get() if task == "build_string": result = string_builder() result_queue.put(result) task_queue.task_done() def main_process(result_queue): while True: try: result = result_queue.get(timeout=1) if result == "hello world": print(result) os._exit(0) except queue.Empty: pass def main(): # Populate task queue for _ in range(NUM_WORKERS): TASK_QUEUE.put("build_string") # Create result queue result_queue = queue.Queue() # Start worker threads for _ in range(NUM_WORKERS): threading.Thread(target=worker, args=(TASK_QUEUE, result_queue)).start() # Start main process in a separate thread threading.Thread(target=main_process, args=(result_queue,)).start() # Wait for all tasks to be completed TASK_QUEUE.join() if __name__ == "__main__": # Give time for the computer to think time.sleep(1) main()
Editor is loading...
Leave a Comment