首页 > 代码库 > python多线程之线程锁三(同一时间允许多个线程)
python多线程之线程锁三(同一时间允许多个线程)
#coding:utf-8 import threading import time num = 0 #全局变量 def runs(): time.sleep(1) global num #在函数内部要对全局变量进行更改,需要进行声明 samp.acquire() #在操作时,获得锁,4个线程都在里边被锁住 time.sleep(0.001) num += 1 #虽然4个线程同时对num进行加1,但在相加的时候,CPU还是一个一个的加 print("%s" % num) samp.release() # 释放锁 #4个线程分别获得的是4份同样的数据,在相加的时候,CPU还是一个一个的加 samp = threading.BoundedSemaphore(4) #统一时间可以允许多少个线程可以同时去操作,比如这里为4,也就是统一时间可以有4个线程 #启动一百个线程,也就是说这100个线程同时运行rusn函数 for i in range(200): t = threading.Thread(target=runs,) t.start()
本文出自 “运维交流Q群:223843163” 博客,请务必保留此出处http://freshair.blog.51cto.com/8272891/1898718
python多线程之线程锁三(同一时间允许多个线程)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。