Advertisement
robertvari

Simple queue

Feb 2nd, 2020
698
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.79 KB | None | 0 0
  1. import time, random, queue, threading
  2.  
  3. url_list = queue.Queue()
  4. urls = [
  5.     "google.com",
  6.     "facebook.com",
  7.     "tritter.com",
  8.     "instagram.com",
  9.     "gmail.com",
  10.     "youtube.com",
  11. ]
  12.  
  13. for i in urls:
  14.     url_list.put(i)
  15.  
  16. def queue_worker():
  17.     print(threading.current_thread().name)
  18.  
  19.     while not url_list.empty():
  20.         current_url = url_list.get()
  21.         print("working on:", current_url)
  22.  
  23.         time.sleep(random.randint(2,10))
  24.  
  25.         print("Work done!", current_url)
  26.  
  27.         url_list.task_done()
  28.  
  29. t1 = threading.Thread(target=queue_worker)
  30. t2 = threading.Thread(target=queue_worker)
  31. t3 = threading.Thread(target=queue_worker)
  32. t4 = threading.Thread(target=queue_worker)
  33.  
  34. t1.start()
  35. t2.start()
  36. t3.start()
  37. t4.start()
  38.  
  39. url_list.join()
  40. print("Main Thread ends")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement