一: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("")

最新文章

  1. 字符串编辑距离(Levenshtein距离)算法
  2. 云服务程序在启动的时候执行Powershell脚本
  3. C# 列主元素(Gauss)消去法 计算一元多次方程组
  4. 常用IT类英文词汇 - 1
  5. 解决删除域用户Exception from HRESULT: 0x80072030
  6. UIbutton 和UIview 切单角
  7. ImageView的属性android:scaleType,即ImageView.setScaleType(ImageView.ScaleType)
  8. MSSQLServer基础01(数据类型)
  9. Parameterized Path 的例子
  10. Linux下eclipse的安装以及配置
  11. SQLServer访问Oracle查询性能问题解决
  12. 项目版本管理 github简介
  13. [0] C#异常种类
  14. 登录MES系统后台服务的操作
  15. SQLServer删除数据
  16. iphone手机浏览器文本框不触发输入中文的keyup事件
  17. com.netflix.client.ClientException: Load balancer does not have available server for client xxxx
  18. 华为交换机有关BGP的相关配置
  19. 将一个C++的AES加密算法(有向量的)翻译成C#
  20. MySQL中基于mysqldump和二进制日志log-bin进行逻辑备份以及基于时间点的还原

热门文章

  1. BZOJ3834 [Poi2014]Solar Panels 【数论】
  2. 洛谷 P1446 [HNOI2008]Cards 解题报告
  3. Chapter2(变量和基础类型)--C++Prime笔记
  4. PHP_EOL 写入字符串换行 , php获取毫秒 microtime
  5. mac python2.7.10 升级到 3.6
  6. 逻辑回归原理_挑战者飞船事故和乳腺癌案例_Python和R_信用评分卡(AAA推荐)
  7. U45490 还没想好名字的题Ⅱ
  8. MySQL数据库语法-多表查询练习一
  9. Docker 基础知识
  10. sql service ---- update和delete 误操作数据 ---- 恢复数据