python(六)-多线程-Semaphore(信号量)

Semaphore对象内部管理一个计数器,该计数器由每个acquire()调用递减,并由每个release()调用递增。计数器永远不会低于零,当acquire()发现计数器为零时,线程阻塞,等待其他线程调用release()=============控制并发数量=============import threadingimport timeclass Chi(threading.Thread):    def __init__(self,sem,i):        super().__init__()        self.sem = sem        self.i = i    def run(self):        time.sleep(2)        print('{}处理中。。。'.format(self.i))        self.sem.release()class Zuo(threading.Thread):    def __init__(self,chi_sem):        super().__init__()        self.chi_sem = chi_sem    def run(self):        for i in range(100):            self.chi_sem.acquire()            chi_thread = Chi(self.chi_sem,i)            chi_thread.start()sem = threading.Semaphore(6)a = Zuo(sem)a.start()

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值