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

免费模板网站都有什么区别wordpress托管建站

免费模板网站都有什么区别,wordpress托管建站,网站建设怎么提需求,百度识图在线使用文章首发微信公众号#xff0c;微信搜索#xff1a;猿说python对于线程与线程之间的交互我们在前面的文章已经介绍了 python 互斥锁Lock / python事件Event , 今天继续介绍一种线程交互方式 – 线程条件变量Condition.一.线程条件变量Condition相关函数介绍acquire() — 线程…文章首发微信公众号微信搜索猿说python对于线程与线程之间的交互我们在前面的文章已经介绍了 python 互斥锁Lock / python事件Event , 今天继续介绍一种线程交互方式 – 线程条件变量Condition.一.线程条件变量Condition相关函数介绍acquire() — 线程锁注意线程条件变量Condition中的所有相关函数使用必须在acquire() /release() 内部操作release() — 释放锁注意线程条件变量Condition中的所有相关函数使用必须在acquire() /release() 内部操作wait(timeout) — 线程挂起(阻塞状态)直到收到一个notify通知或者超时才会被唤醒继续运行超时参数默认不设置可选填类型是浮点数单位是秒。wait()必须在已获得Lock前提下才能调用否则会触发RuntimeErrornotify(n1) — 通知其他线程那些挂起的线程接到这个通知之后会开始运行缺省参数默认是通知一个正等待通知的线程,最多则唤醒n个等待的线程。notify()必须在已获得Lock前提下才能调用否则会触发RuntimeErrornotify()不会主动释放LocknotifyAll() — 如果wait状态线程比较多notifyAll的作用就是通知所有线程二.线程条件变量Condition原理在前面的文章已经介绍过互斥锁主要作用是并行访问共享资源时保护共享资源防止出现脏数据。python 条件变量Condition也需要关联互斥锁同时Condition自身提供了wait/notify/notifyAll方法用于阻塞/通知其他并行线程可以访问共享资源了。可以这么理解Condition提供了一种多线程通信机制假如线程1需要数据那么线程1就阻塞等待这时线程2就去制造数据线程2制造好数据后通知线程1可以去取数据了然后线程1去获取数据。三.线程条件变量Condition使用案例一成语接龙# !usr/bin/env python # -*- coding:utf-8 _*-Author:何以解忧 Blog(个人博客地址): shuopython.com WeChat Official Account(微信公众号)猿说python Github:www.github.comFile:python_.py Time:2019/10/21 21:25Motto:不积跬步无以至千里不积小流无以成江海程序人生的精彩需要坚持不懈地积累 # 导入线程模块 import threading# 创建条件变量condition con threading.Condition()def thread_one(name):# 条件变量condition 线程上锁con.acquire()print({}:成语接龙准备好了吗.format(name))# 唤醒正在等待(wait)的线程con.notify()# 等待对方回应消息使用wait阻塞线程等待对方通过notify唤醒本线程con.wait()print({}:一干二净.format(name))# 唤醒对方con.notify()# 等待消息答应con.wait()print({}:一天就知道看抖音美女给你来个简单点的来了毛手毛脚.format(name))# 唤醒对方con.notify()# 等待消息答应con.wait()print({}:哟哟哟不错不错.format(name))# 唤醒对方con.notify()# 条件变量condition 线程释放锁con.release()def thread_two(name):# 条件变量condition 线程上锁con.acquire()# wait阻塞状态等待其他线程通过notify唤醒本线程con.wait()print({}:准备好了~开始吧.format(name))# 唤醒对方con.notify()# 等待消息答应con.wait()print({}:净你妹啊没法接...来个简单点的....format(name))# 唤醒对方con.notify()# 等待消息答应con.wait()print({}:嘿,这个我知道脚踏实地.format(name))# 唤醒对方con.notify()con.release()if __name__ __main__:# 创建并初始化线程t1 threading.Thread(targetthread_one,args(A))t2 threading.Thread(targetthread_two,args(B))# 启动线程 -- 注意线程启动顺序启动顺序很重要t2.start()t1.start()# 阻塞主线程等待子线程结束t1.join()t2.join()print(程序结束)输出结果A:成语接龙准备好了吗 B:准备好了~开始吧 A:一干二净 B:净你妹啊没法接...来个简单点的... A:一天就知道看抖音美女给你来个简单点的来了毛手毛脚 B:嘿,这个我知道脚踏实地 A:哟哟哟不错不错 程序结束案例二生产者与消费者模式以吃火锅为例一盘老肉片有10块肉吃完了又重新往锅里加….生产者往锅里加老肉片每次加一盘(10块)消费者吃煮熟的肉片没吃一片肉片数量减一吃完为止;# 导入线程模块 import threading import time# 创建条件变量condition con threading.Condition() meat_num 0def thread_consumers():# 条件变量condition 线程上锁con.acquire()# 全局变量声明关键字 globalglobal meat_nummeat_num 0# 等待肉片下锅煮熟con.wait()while True:print(我来一块肉片...)meat_num - 1print(剩余肉片数量%d%meat_num)time.sleep(0.5)if meat_num 0:# 肉片吃光了通知老板添加肉片print(老板再来一份老肉片...)con.notify()# 肉片吃光了等待肉片con.wait()# 条件变量condition 线程释放锁con.release()def thread_producer():# 条件变量condition 线程上锁con.acquire()# 全局变量声明关键字 globalglobal meat_num# 肉片熟了可以开始吃了meat_num 10print(肉片熟了可以开始吃了...)con.notify()while True:# 阻塞函数,等待肉片吃完的通知con.wait()meat_num 10# 添加肉片完成可以继续开吃print(添加肉片成功当前肉片数量%d%meat_num)time.sleep(1)con.notify()con.release()if __name__ __main__:# 创建并初始化线程t1 threading.Thread(targetthread_producer)t2 threading.Thread(targetthread_consumers)# 启动线程 -- 注意线程启动顺序启动顺序很重要t2.start()t1.start()# 阻塞主线程等待子线程结束t1.join()t2.join()print(程序结束)输出结果肉片熟了可以开始吃了... 我来一块肉片... 剩余肉片数量9 我来一块肉片... 剩余肉片数量8 我来一块肉片... 剩余肉片数量7 我来一块肉片... 剩余肉片数量6 我来一块肉片... 剩余肉片数量5 我来一块肉片... 剩余肉片数量4 我来一块肉片... 剩余肉片数量3 我来一块肉片... 剩余肉片数量2 我来一块肉片... 剩余肉片数量1 我来一块肉片... 剩余肉片数量0 老板再来一份老肉片... 添加肉片成功当前肉片数量10 我来一块肉片... 剩余肉片数量9 我来一块肉片... 剩余肉片数量8 我来一块肉片... 剩余肉片数量7 .............注意:1.全局变量要声明关键字 global2.注意线程的启动顺序这个很重要四.重点总结注意线程互斥锁Lock/线程事件Event/线程条件变量Condition三者的区别场景不同使用方式也不同前两者一般可以作为简单的线程交互线程条件变量Condition可以用于比较复杂的线程交互猜你喜欢:1.python线程创建和参数传递2.python线程互斥锁Lock3.python线程事件Event4.python return逻辑判断表达式转载请注明猿说Python » python条件变量Condition想了解更多python内容请直接搜索微信公众号猿说pythonPython教程 - 猿说Python​www.shuopython.com本人也还在学习python中博客会持续更新ing有兴趣的小伙伴关注走一波推荐浏览个人博客网站猿说python文章采用树状分类结构目录清晰一点文章内容有问题的话欢迎给出建议或者直接留言.
http://www.pierceye.com/news/613564/

相关文章:

  • 深圳哪家公司做网站好购物网站开发问题域分析
  • 简单个人网站wordpress插件查询
  • 上海做网站搜索一下马来西亚的网站建设的竞争对手的分析
  • 建站优化易下拉系统163邮箱登录注册
  • c 做网站电子商务平台中搜索词拆解包括
  • 腾讯云10g数字盘做网站够么四川省建设人才网
  • 批量 网站标题中海园林建设有限公司网站
  • 鲜花网站数据库建设免费律师咨询
  • 团队网站建设哪家便宜制作公司网站流程
  • 青龙桥网站建设企业网页是什么
  • 上海网站建设备案号怎么恢复法律咨询网站开发
  • 烟台做网站价格动力网站建设
  • 北戴河网站建设墨刀制作网页教程
  • 成都网站设计开发做得好微信商城怎么开发
  • 江西省城乡建设培训网-官方网站上海建设集团有限公司
  • 凡科网站设计模板grimhelm wordpress
  • 自己做的网站不备案行吗建筑工程集团有限公司
  • 网站初期 权重怎么做彩票类网站开发
  • 南通网站定制公司服务器网站建设维护合同
  • 亳州做商标网站的公司免费的网站模板
  • 西南城乡建设部网站首页python3做网站教程
  • 网站首页设计欣赏个人电影网站建设
  • 导航网站建设怎么给网站图片加alt
  • 备案成功后怎么建设网站宠物喂养网页设计模板以及代码
  • 东莞哪家网站建设比较好wordpress更改语言设置
  • 如何找做网站的客户wordpress适合视频网站吗
  • 网站建设的业务流程图拔萝卜视频播放在线观看免费
  • 建个网站要多少钱高安网站制作
  • dw设计模板百度ocpc如何优化
  • 苏宁网站优化与推广html教程网站