Python简单的线程池
2024-10-20 20:32:09
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()
最新文章
- webControls与客户端脚本路径
- Android LitePal 神一般的数据库框架 超级好用
- uC/OS-II测试(TEST)块
- Python学习笔记03
- Eclipse开发C++遇到的Binary not found等问题
- Unity Shaders
- springMVC导入excel案例poi
- 三星wep200蓝牙耳机中文说明书
- PHP学习笔记(五)
- android中创建模拟器的 SDCard
- script —— 终端里的记录器
- YouKu iOS笔试题一
- ionic 打包安卓包
- [LeetCode] Lonely Pixel I 孤独的像素之一
- stack.isEmpty()和empty()
- 信噪比——信号加噪相关的知识
- C 修改命令行文本颜色
- oracle 11g用户名的大小写问题
- windows 安装 mysql5.7.17
- 基于ansj_seg和nlp-lang的简单nlp工具类
热门文章
- fl2440字符设备led驱动
- druid.io 海量实时OLAP数据仓库 (翻译+总结) (1)
- vim删除文本文件中末行^M
- stat,查看文件属性
- Linux下 安装VMware Tools工具
- Android-LinearLayout布局技巧(一)
- jQuery 文档操作 - insertAfter() ,insertBefore(),after(),before() 方法
- Spring 测试框架testContext代码举例
- iOS Core ML与Vision初识
- 你要相信你所做的一切对一个更美好的世界 Do have faith in what you are doing All for a better world