博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python多线程知识-实用实例
阅读量:6793 次
发布时间:2019-06-26

本文共 865 字,大约阅读时间需要 2 分钟。

python多线程使用场景:IO操作,不适合CPU密集操作型任务
 
1、多个线程内存共享
2、线程同时修改同一份数据需要加锁,mutex互斥锁
3、递归锁:多把锁,锁中有锁
4、python多线程,同一时间只有颗CPU在执行。
 
启动线程:
1 import threading 2 def run(name) 3     print("run thread....") 4  5 #创建进程对象,target=方法名,args=(参数1,参数b,) 6 t = threading.Thread(target=run,args=(n,)) 7 #设置守护线程 8 t.setDaemon(True) 9 #启动线程10 t.start()11 #等待线程结束12 t.jion()

 

型号量使用(线程池)

1 import threading 2 import time 3  4 def run(n): 5     #加锁 6     semaphore.acquire() 7     print("Look:%s"%n) 8     time.sleep(0.5) 9     #释放锁10     semaphore.release()11 12 if __name__ == "__main__":13     #同时准许5个线程14     semaphore = threading.BoundedSemaphore(5)15     tlist = []16     #设置多少个线程17     for i in range(33):18         t = threading.Thread(target=run,args=(i,))19         t.start()20         tlist.append(t)21     for r in tlist:22         r.jion()

 

转载于:https://www.cnblogs.com/shangmo/p/9001946.html

你可能感兴趣的文章
AWStats分析Nginx访问日志
查看>>
支持C++ 11: 使用Eclipse 和 MinGW-builds [on Windows]
查看>>
27、C#里面组合框ComboBox的属性和事件
查看>>
使用Ajax方法提交多个对象数组的问题
查看>>
经验之谈:10位顶级PHP大师的开发原则
查看>>
安装中文控制台以及rpm包
查看>>
对Class类的理解与整理
查看>>
lamp环境的搭建
查看>>
mysql注入绕过tips
查看>>
移动应用在线开发平台Appcan将支持开发者在线编译证书并将应用提交到苹果应用商店...
查看>>
hsrp实验
查看>>
IBM 开发资源库
查看>>
linux系统的负载与CPU、内存、硬盘、用户数监控shell脚本
查看>>
岁月催人老
查看>>
获取用户Ip地址通用方法常见安全隐患(HTTP_X_FORWARDED_FOR)
查看>>
出场率比较高的一道多线程安全面试题
查看>>
swt browser控件与java交互
查看>>
深度剖析Service Mesh服务网格新生代Istio
查看>>
Memcached笔记
查看>>
SCVMM 2012系列之一——安装部署
查看>>