class ThreadPool(object):

    def __init__(self, max_num=20):
# 创建一个队列,队列里最多只能有10个数据
self.queue = queue.Queue(max_num)
# 在队列里填充线程类
# 【线程类、线程类、线程类、线程类、线程类、线程类、线程类】
for i in range(max_num):
self.queue.put(threading.Thread) def get_thread(self):
# 去队列里去数据,
# queue特性,如果有,对列里那一个出来
# 如果没有,阻塞,
return self.queue.get() def add_thread(self):
# 往队列里再添加一个线程类
self.queue.put(threading.Thread) # pool = ThreadPool(10) pool = ThreadPool(10) def func(arg, p):
# 函数内容
print(arg)
import time
time.sleep(2) # 在线程池里重新添加一个线程(将线程归还给线程池)
p.add_thread() for i in range(30):
# 去线程池里那一个线程,如果有,则池子里拿,如果没有,等直到有人归还线程到线程池
thread = pool.get_thread()
# thread = threading.Thread
t = thread(target=func, args=(i, pool))
t.start()

  

最新文章

  1. webControls与客户端脚本路径
  2. Android LitePal 神一般的数据库框架 超级好用
  3. uC/OS-II测试(TEST)块
  4. Python学习笔记03
  5. Eclipse开发C++遇到的Binary not found等问题
  6. Unity Shaders
  7. springMVC导入excel案例poi
  8. 三星wep200蓝牙耳机中文说明书
  9. PHP学习笔记(五)
  10. android中创建模拟器的 SDCard
  11. script —— 终端里的记录器
  12. YouKu iOS笔试题一
  13. ionic 打包安卓包
  14. [LeetCode] Lonely Pixel I 孤独的像素之一
  15. stack.isEmpty()和empty()
  16. 信噪比——信号加噪相关的知识
  17. C 修改命令行文本颜色
  18. oracle 11g用户名的大小写问题
  19. windows 安装 mysql5.7.17
  20. 基于ansj_seg和nlp-lang的简单nlp工具类

热门文章

  1. fl2440字符设备led驱动
  2. druid.io 海量实时OLAP数据仓库 (翻译+总结) (1)
  3. vim删除文本文件中末行^M
  4. stat,查看文件属性
  5. Linux下 安装VMware Tools工具
  6. Android-LinearLayout布局技巧(一)
  7. jQuery 文档操作 - insertAfter() ,insertBefore(),after(),before() 方法
  8. Spring 测试框架testContext代码举例
  9. iOS Core ML与Vision初识
  10. 你要相信你所做的一切对一个更美好的世界 Do have faith in what you are doing All for a better world