python多线程知识-实用实例

2018-06-18 02:46:47来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

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()

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Mysql系列-数据库start

下一篇:collections模块简介