当前位置: 首页 > news >正文

韶关市住房和城乡建设局网站网站动态画面用啥做

韶关市住房和城乡建设局网站,网站动态画面用啥做,wordpress简约高端企业通用产品,做网站困难嘛使用多个线程的时候容易遇到一个场景#xff1a;多个线程处理一份数据 使用多线程的时候同时处理一份数据#xff0c;在threading中提供了一个方法#xff1a;线程锁 Demo#xff1a;下订单 现在有多笔订单下单#xff0c;库存减少 from threading import Thread from t… 使用多个线程的时候容易遇到一个场景多个线程处理一份数据 使用多线程的时候同时处理一份数据在threading中提供了一个方法线程锁 Demo下订单 现在有多笔订单下单库存减少 from threading import Thread from time import sleepstore {inventory : 100 } # 定义一个函数作为新线程执行的入口函数 def deposit(theadidx,orderNum):balance store[inventory]# 执行减少库存操作耗费了0.1秒sleep(0.1)store[inventory] balance - orderNumprint(f子线程 {theadidx} 结束)theadlist [] for idx in range(10):thread Thread(target deposit,args (idx,1))thread.start()# 把线程对象都存储到 threadlist中theadlist.append(thread)for thread in theadlist:thread.join()print(主线程结束) print(f最后我们的库存为 {store[inventory]}) 子线程 6 结束 子线程 1 结束 子线程 7 结束 子线程 0 结束 子线程 8 结束 子线程 9 结束 子线程 5 结束 子线程 4 结束 子线程 3 结束 子线程 2 结束 主线程结束 最后我们的库存为 99Process finished with exit code 0当十个用户下完订单后,对应的库存没有从100-1090,而是变成了99 实际减少数量和库存应减对不上 会导致每一个线程组都刷新一次余额所有的线程没有累计起来数据共享库存数 所以需要在线程执行前将原始数据锁起来执行线程内容结束后释放 使用acquire()方法上锁 使用release()方法解锁 修改后的Demo 在原来的deposit方法上添加一个上锁解锁的操作从而达到线程执行时同数据源(库存数量)不会被其他线程执行所影响 from threading import Thread, Lock from time import sleepstore {inventory: 100 } sk Lock()# 定义一个函数作为新线程执行的入口函数 def deposit(theadidx, orderNum):sk.acquire() # 上锁 解库存balance store[inventory]# 执行减少库存操作耗费了0.1秒sleep(0.1)store[inventory] balance - orderNumprint(f子线程 {theadidx} 结束)sk.release() # 解锁 theadlist [] for idx in range(10):thread Thread(targetdeposit,args(idx, 1))thread.start()# 把线程对象都存储到 threadlist中theadlist.append(thread)for thread in theadlist:thread.join()print(主线程结束) print(f最后我们的库存为 {store[inventory]})子线程 0 结束 子线程 1 结束 子线程 2 结束 子线程 3 结束 子线程 4 结束 子线程 5 结束 子线程 6 结束 子线程 7 结束 子线程 8 结束 子线程 9 结束 主线程结束 最后我们的库存为 90Process finished with exit code 0写在最后 线程上锁的好处:         确保了某个方法/类方法(这里为deposit方法)只能由一个线程从头到尾完整地执行 坏处:         上锁的时候需要在操作后及时的解锁,可能会导致死锁发生 注意:         使用acquire()方法上锁后一定要使用release()方法去解锁
http://www.hkea.cn/news/14507951/

相关文章:

  • wordpress调用图片路径排名优化培训
  • 制作公司网站需要几个数据表wordpress 自定义按钮
  • 建设网站简单教程电商公司怎么运营和管理
  • 沙河口网站建设办公室装修怎么做账
  • 网站制作怎么赚钱商务网站建设的一般流程图
  • 如何创办自己的网站wordpress在哪里登陆
  • 17做网站广州沙河网站哪些付款二维码是怎么做的
  • 宸建设计网站计算机专业都学什么
  • 网站建设质量如何衡量免费网站容量大
  • 母版做双语网站wordpress登录框插件
  • php自己做网站广州科技有限公司
  • 咸阳企业网站建设phpcms 做好网站怎么保存
  • 十天学会网站建设公司网站开发费用账务处理
  • 有什么字体设计网站健康东莞app怎么下载
  • 绵阳 网站开发天津建网站的公司
  • 怎么用云服务器建设网站网站500m空间价格
  • 建一个企业网站多少钱手机钓鱼网站制作
  • 做网站怎样收费的义务网网站建设方案
  • 广东网站建设方案html5软件官网
  • wordpress替换图片不显示网站如何做优化
  • 中山免费建网站滁州seo
  • 厦门大型服装商城网站建设宁波软件开发公司排名
  • 哪个网站做餐饮推广最好网站添加背景音乐
  • 济南做网站优化价格站外推广
  • php网站添加验证码市场推广方案
  • 著名设计师网站重庆it培训机构
  • 国内做的比较好的协会网站用wordpress 登录
  • 做网站seo的步骤wordpress 载入
  • 无极领域付费网站网页传奇游戏排行榜比亚迪
  • 制作自己的网站删除wordpress版权