您的位置:首页 > 编程语言 > Python开发

python多线程之线程锁三(同一时间允许多个线程)

2017-02-17 11:03 267 查看
#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()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python