Mutes锁中递归锁及semaphore的示例分析
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,这篇文章将为大家详细讲解有关Mutes锁中递归锁及semaphore的示例分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。#!-*-coding:u
千家信息网最后更新 2025年02月04日Mutes锁中递归锁及semaphore的示例分析
这篇文章将为大家详细讲解有关Mutes锁中递归锁及semaphore的示例分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
#!-*-coding:utf-8-*-
#加用户态的锁,与全局解释器锁不一样(GIL)
import threading, time
def run(n):
lock.acquire() #获取用户态锁 也叫互斥锁Mutex
global num #操作
#time.sleep(0.1) #加了sleep之后程序变串行的了 一般不要加
num +=1
lock.release() #释放用户态锁
lock=threading.Lock()
num=0
t_objs = []
for i in range(1000):
t = threading.Thread(target=run, args=("t %s" % i,))
t.start()
t_objs.append(t) # 把每个线程实例都加进来 不阻塞后面线程的启动
for t in t_objs: #取列表里的每个线程
t.join() #等待并行的每个线程全都执行完毕 在往下走
print("----all threads has finished...",threading.current_thread(),threading.active_count())
print("num",num)
threading, time run1(): print() lock.acquire() num num += 1 lock.release() num run2(): print() lock.acquire() num2 num2 += 1 lock.release() num2 run3(): lock.acquire() res = run1() print() res2 = run2() lock.release() print(res, res2) num, num2 = 0, 0 lock = threading.RLock() i range(1): t = threading.Thread(target=run3) t.start() threading.active_count() != 1: print(threading.active_count()) : print() print(num, num2)
threading,time run(n): semaphore.acquire() time.sleep(1) print(%n) semaphore.release() __name__==: semaphore=threading.BoundedSemaphore(5) i range(20): t=threading.Thread(target=run,args=(i,)) t.start() threading.active_count() !=1: : print()
关于Mutes锁中递归锁及semaphore的示例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
线程
用户
示例
递归
分析
内容
文章
更多
知识
篇文章
不错
全局
全都
实例
程序
解释器
质量
参考
帮助
有关
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
厦门嗡嗡嗡网络技术有限公司
信息网络技术 词汇
安装服务器系统后需要装数据库吗
商城网站服务器哪种好
敦煌软件开发
qq聊天记录数据库破解
powerbi 修改 数据库
在maven中添加到数据库
数据库日志安全分析
KEIL下载软件开发
采用连接池技术连接数据库
网络安全巡回赛是什么
易语言软件开发培训班
蚂蚁源服务器
餐饮网络安全规章制度
iis元数据库win7
艾美伦网络技术有限公司
怀旧服多少组服务器
渔乐服务器
qq空间qq农场服务器繁忙
计算机网络安全 年会
数据库模型的建立过程
硕士mba应聘软件开发
服务器远程访问打不开
世界最大软件开发公司
h3c设置虚拟服务器
台北学习网络安全
丰台戴尔服务器回收报价
服务器根目录满了如何清理
根据国家网络安全规定