concurrency.py 606 B

12345678910111213141516171819202122232425
  1. import requests
  2. from random import choice
  3. from threading import Thread, Lock, current_thread
  4. names = list(range(1, 9))
  5. url = "http://localhost:5000/idc/"
  6. lock = Lock()
  7. def post(name: "str"):
  8. file = {"picture": (f"{name}.jpg", open(f"img/{name}.jpg", "rb"), "images/jpeg")}
  9. data = {"which": "face"}
  10. resp = requests.post(url, files=file, data=data)
  11. lock.acquire()
  12. print(current_thread().name, resp.json())
  13. lock.release()
  14. def main():
  15. for i in range(20):
  16. Thread(target=post, args=(choice(names),), name=f"th-{i + 1:02}").start()
  17. if __name__ == '__main__':
  18. main()