python网络编程--线程Semaphore(信号量)
2024-10-18 13:08:07
一:Semaphore(信号量)
互斥锁 同时只允许一个线程更改数据,而Semaphore是同时允许一定数量的线程更改数据 ,比如厕所有3个坑,那最多只允许3个人上厕所,后面的人只能等里面有人出来了才能再进去。
# -*- coding:utf-8 -*-
__author__ = 'shisanjun'
#信号锁用于连接池,scoket连接等,用于修改数据又会出现线程锁问题 import threading
import time def run(n): semophore.acquire()
print(n)
time.sleep(1)
semophore.release() if __name__=="__main__": semophore=threading.BoundedSemaphore(5)#同时5个子线程运行,运行一个在进一个 for i in range(20):
t=threading.Thread(target=run,args=("t%s" %i,))
t.start() while threading.active_count()!=1:
pass
else:
print("")
最新文章
- 字符串编辑距离(Levenshtein距离)算法
- 云服务程序在启动的时候执行Powershell脚本
- C# 列主元素(Gauss)消去法 计算一元多次方程组
- 常用IT类英文词汇 - 1
- 解决删除域用户Exception from HRESULT: 0x80072030
- UIbutton 和UIview 切单角
- ImageView的属性android:scaleType,即ImageView.setScaleType(ImageView.ScaleType)
- MSSQLServer基础01(数据类型)
- Parameterized Path 的例子
- Linux下eclipse的安装以及配置
- SQLServer访问Oracle查询性能问题解决
- 项目版本管理 github简介
- [0] C#异常种类
- 登录MES系统后台服务的操作
- SQLServer删除数据
- iphone手机浏览器文本框不触发输入中文的keyup事件
- com.netflix.client.ClientException: Load balancer does not have available server for client xxxx
- 华为交换机有关BGP的相关配置
- 将一个C++的AES加密算法(有向量的)翻译成C#
- MySQL中基于mysqldump和二进制日志log-bin进行逻辑备份以及基于时间点的还原
热门文章
- BZOJ3834 [Poi2014]Solar Panels 【数论】
- 洛谷 P1446 [HNOI2008]Cards 解题报告
- Chapter2(变量和基础类型)--C++Prime笔记
- PHP_EOL 写入字符串换行 , php获取毫秒 microtime
- mac python2.7.10 升级到 3.6
- 逻辑回归原理_挑战者飞船事故和乳腺癌案例_Python和R_信用评分卡(AAA推荐)
- U45490 还没想好名字的题Ⅱ
- MySQL数据库语法-多表查询练习一
- Docker 基础知识
- sql service ---- update和delete 误操作数据 ---- 恢复数据