博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python之信号量【Semaphore】
阅读量:5798 次
发布时间:2019-06-18

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

# 互斥锁同时只允许一个线程更改数据,而Semaphore是同时允许一定数量的线程更改数据,比如# 一个厕所有3个坑,那么最多只允许3个人上厕所,后面的人只能等里面有人出来了才能再进去import threadingimport timedef run(n):    semaphore.acquire()    time.sleep(1)    print("run the thread: %s" %n)    semaphore.release()if __name__ == '__main__':    num = 0    semaphore = threading.BoundedSemaphore(3)    #最多允许3个线程同时运行    for i in range(20):        t = threading.Thread(target=run,args=[i,])        t.start()while threading.active_count() != 1:    print(threading.active_count())    passelse:    print("----all threads done----------")    print(num)

  

转载于:https://www.cnblogs.com/bainianminguo/p/7253922.html

你可能感兴趣的文章
Java数据结构漫谈-ArrayList
查看>>
springboot开启定时任务 添加定时任务 推送
查看>>
oracle左关联+号表示方式
查看>>
PHP文件操作系统----主要的文件操作函数
查看>>
DDRx的关键技术介绍(中)
查看>>
jQuery清空复选框,下拉框,输入框
查看>>
十进制转换为二十六进制的方式 Decode Ways
查看>>
泛型的优点
查看>>
计算机英语词汇汇总
查看>>
javascript--对象
查看>>
docker下PHP+Nginx+HHVM运行环境
查看>>
IIS7地址重写URL Rewrite Module的使用
查看>>
[学习笔记]最小树形图
查看>>
软件工程-CMM与CMMI
查看>>
Scrapy实现腾讯招聘网信息爬取【Python】
查看>>
.net初学之析构函数
查看>>
C# WinForm 解决子窗体放大后,子窗体图标放大的问题
查看>>
【Java并发编程实战-阅读笔记】01-线程安全性
查看>>
Concurrent包学习之 BlockingQueue源码学习
查看>>
jQuery- 常规选择器(一)
查看>>