python 多线程如果不进行并发数量控制,在启动线程数量多到一定程度后,会造成线程无法启动的错误。

下面介绍用 Queue 控制多线程并发数量的方法 (python3).

  1. # -*- coding: utf-8 -*-
  2. import threading
  3. import Queue
  4. import random
  5. import time
  6. maxThreads = 3
  7. class store(threading.Thread):
  8. def __init__(self, store, queue):
  9. threading.Thread.__init__(self)
  10. self.queue = queue
  11. self.store = store
  12. def run(self):
  13. try:
  14. time.sleep(random.randint(1,3))
  15. print('This is store %s' % self.store)
  16. except Exception as e:
  17. print(e)
  18. finally:
  19. self.queue.get()
  20. self.queue.task_done()
  21. def main():
  22. q = Queue.Queue(maxThreads)
  23. for s in range(15):
  24. q.put(s)
  25. t = store(s, q)
  26. t.start()
  27. q.join()
  28. print('over')
  29. if __name__ == '__main__':
  30. main()
上一篇: 下一篇:

相关推荐

随机推荐

  1. Qoo10趣天日本广告投标助手
  2. 西西趣天采集插件2.0升级版
  3. 西西电商图片下载助手
  4. 西西趣天韩国批量上货助手最新版
  5. 西西趣天日本批量上货助手最新版
  6. dupeGuru – 电脑重复文件查找工具,支持跨平台使用!
  7. Caesium – 图片批量压缩软件
  8. 7-Zip 免费解压软件
  9. TrayS 绿色免安装版 (任务栏美化工具)
  10. AirDroid 3.7.2.1 Android 设备管家远程控制
  11. Snipaste截图软件下载
  12. Everything 1.4.1.1026 文件搜索工具
  13. chromium浏览器伪造sni工具网页版
  14. 迅雷下载去广告VIP绿色精简最终版11.1.12.1692
  15. 免费听音乐 MusicFree 音乐播放器接口完整版