python学习—Day44—多线程共享变量与线程池
来源:互联网 发布:淘宝个人店铺 注册商标 编辑:程序博客网 时间:2024/06/07 00:31
多线程共享变量:
多线程和多进程不同之处在于多线程本身就是可以和父进程共享内存的,这也是为什么其中一个线程挂掉以后,其他线程也会死掉的道理。
#@File :enjoy_mem.pyimport threadingdef worker(): l.append("xiao") l.append("jing") l.append("jing")if __name__ == "__main__": l = list() l += range(1, 10) print(l) t = threading.Thread(target=worker) t.start() print(l)
[1, 2, 3, 4, 5, 6, 7, 8, 9][1, 2, 3, 4, 5, 6, 7, 8, 9, 'xiao', 'jing', 'jing']
线程池:
线程池:通过传入一个参数组来实现多线程,并且它的线程是有序的,顺序与参数组中的参数顺序保持一致。
安装包:pip install threadpool
pip install threadpool
pool = ThreadPool(poolsize) requests = makeRequests(some_callable, list_of_args, callback) [pool.putRequest(req) for req in requests] pool.wait()
第一行定义了一个线程池,表示最多可以创建poolsize这么多线程;
第二行是调用makeRequests创建了要开启多线程的函数,以及函数相关参数和回调函数,其中回调函数可以不写,default是无,也就是说makeRequests只需要2个参数就可以运行;
第三行用法比较奇怪,是将所有要运行多线程的请求扔进线程池,[pool.putRequest(req) for req in requests]等同于
for req in requests:
pool.putRequest(req)
第四行是等待所有的线程完成工作后退出。
阅读全文
0 0
- python学习—Day44—多线程共享变量与线程池
- 多线程学习总结(七)——线程安全之共享变量
- 多线程——线程范围内变量的共享
- 从头认识多线程-1.2 共享变量与线程安全简介
- python 多线程与线程池
- java线程共享变量与静态变量
- [Python]多线程编程&线程间共享变量&消费者生产者问题的解决
- 【Java多线程与并发库】5.线程范围内共享变量的概念与作用
- 【Java多线程与并发库】5.线程范围内共享变量的概念与作用
- 张孝祥[致敬]-多线程学习第05课-线程范围内的共享变量
- 张孝祥[致敬]-多线程学习第06课-多个线程之间的共享变量
- 【Java多线程与并发库】05 线程范围内共享变量ThreadLocal
- 05_张孝祥_Java多线程_线程范围内共享变量的概念与作用
- 【Java多线程】共享变量&同步-异步容器&线程局部变量
- Java多线程编程总结笔记——三线程栈模型与线程的变量
- IOS学习 多线程NSThread 共享变量 卖票
- python多线程与global变量
- UNIX多线程数据共享与线程同步
- 使用TensorFlow进行特征提取(中层特征)以及mat文件转为tfrecord方法
- 【51nod】1073 约瑟夫环
- 插件webuploader实现文件上传
- 上班太远,换开发技术换工作,值得吗?
- 删除数据库所有存储过程的SQL语句
- python学习—Day44—多线程共享变量与线程池
- Java设计模式之命令模式
- 数据结构年终总结
- ionic 侧拉框
- 十分钟学会写Shell脚本
- View总结(1)---onMeasure(),onLayout(),onDraw()方法
- 会议记录管理系统(2)
- Mycat心跳机制梳理
- 加密货币总市值突破5000亿美元,超越股神公司市值