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

网页版梦幻西游周年庆攻略seo顾问

网页版梦幻西游周年庆攻略,seo顾问,网站开发与管理课程设计心得,wordpress页面菜单python线程Barrier俗称障碍对象#xff0c;也称栅栏#xff0c;也叫屏障。一.线程障碍对象Barrier简介# 导入线程模块import threading# 障碍对象barrierbarrier threading.Barrier(parties, actionNone, timeoutNone)parties — 线程计数器#xff0c;记录线程数量#x…python线程Barrier俗称障碍对象也称栅栏也叫屏障。一.线程障碍对象Barrier简介# 导入线程模块import threading# 障碍对象barrierbarrier threading.Barrier(parties, actionNone, timeoutNone)parties — 线程计数器记录线程数量也称线程障碍数量action — 是一个可调用函数当等待的线程到达了线程障碍数量parties其中一个线程会首先调用action 对应函数之后再执行线程自己内部的代码timeout — 默认的超时时间二.线程障碍对象Barrier原理与之前介绍 互斥锁Lock/事件Event/定时器Timer等不同多线程Barrier会设置一个线程障碍数量parties如果等待的线程数量没有达到障碍数量parties所有线程会处于阻塞状态当等待的线程到达了这个数量就会唤醒所有的等待线程。可能说的有点抽象以播放器为例子首先一个线程做播放器初始化工作(加载本地文件或者获取播放地址)然后一个线程获取视频画面一个线程获取视频声音只有当初始化工作完毕视频画面获取完毕视频声音获取完毕播放器才会开始播放其中任意一个线程没有完成播放器会处于阻塞状态直到三个任务都完成三.多线程障碍对象Barrier相关函数介绍wait(timeoutNone) — 阻塞并尝试通过障碍如果等待的线程数量大于或者等于线程障碍数量parties则表示障碍通过执行action 对应函数并执行线程内部代码反之则继续等待如果wait(timeoutNone) 等待超时障碍将进入断开状态如果在线程等待期间障碍断开或重置此方法会引发BrokenBarrierError错误注意添加异常处理演示代码查看案例一reset() — 重置线程障碍数量返回默认的空状态即当前阻塞的线程重新来过如果在线程等待期间障碍断开或重置此方法会引发BrokenBarrierError错误注意添加异常处理演示代码查看案例二四.线程障碍对象Barrier使用1.案例一常规使用# !usr/bin/env python# -*- coding:utf-8 _*-Author:何以解忧Blog(个人博客地址): shuopython.comWeChat Official Account(微信公众号)猿说pythonGithub:www.github.comFile:python_arbrier.pyTime:2019/10/31 21:25Motto:不积跬步无以至千里不积小流无以成江海程序人生的精彩需要坚持不懈地积累# 导入线程模块import threadingdef plyer_display():print(初始化通过完成音视频同步完成可以开始播放....)# 设置3个障碍对象barrier threading.Barrier(3, actionplyer_display, timeoutNone)def player_init(statu):print(statu)try:# 设置超时时间如果2秒内没有达到障碍线程数量# 会进入断开状态引发BrokenBarrierError错误barrier.wait(2)except Exception as e: # 断开状态引发BrokenBarrierError错误print(等待超时了... )else:print(xxxooooxxxxxooooxxxoooo)if __name__ __main__:statu_list [init ready,video ready,audio ready]thread_list list()for i in range(0,3):t threading.Thread(targetplayer_init,args(statu_list[i],))t.start()thread_list.append(t)for t in thread_list:t.join()输出结果init readyvideo readyaudio ready初始化通过完成音视频同步完成可以开始播放....xxxooooxxxxxooooxxxooooxxxooooxxxxxooooxxxooooxxxooooxxxxxooooxxxoooo注意如果barrier.wait(timeoutNone)等待超时会进入断开状态引发BrokenBarrierError错误为了程序的健壮性最好加上异常处理2.案例二重置线程障碍数量reset()# 导入线程模块import threadingdef plyer_display():print(初始化通过完成音视频同步完成可以开始播放....)# 设置3个障碍对象barrier threading.Barrier(3, actionplyer_display, timeoutNone)def player_init(statu):while True:print(statu)try:# 设置超时时间如果2秒内没有达到障碍线程数量# 会进入断开状态引发BrokenBarrierError错误barrier.wait(2)except Exception as e: # 断开状态引发BrokenBarrierError错误# print(断开状态... )continueelse:print(xxxooyyyxxxooyyyxxxooyyy)breakif __name__ __main__:statu_list [init ready,video ready,audio ready]thread_list list()for i in range(0,3):t threading.Thread(targetplayer_init,args(statu_list[i],))t.start()thread_list.append(t)if i 1: # 重置状态print(不想看爱情片我要看爱情动作片....)barrier.reset()for t in thread_list:t.join()输出结果init readyvideo ready不想看爱情片我要看爱情动作片....init readyvideo readyaudio ready初始化通过完成音视频同步完成可以开始播放....xxxooyyyxxxooyyyxxxooyyyxxxooyyyxxxooyyyxxxooyyyxxxooyyyxxxooyyyxxxooyyy注意如果barrier.wait(timeoutNone)等待超时会进入断开状态引发BrokenBarrierError错误为了程序的健壮性最好加上异常处理以上就是本文的全部内容希望对大家的学习有所帮助也希望大家多多支持聚米学院。
http://www.huolong8.cn/news/122892/

相关文章:

  • 濮阳微信网站建设茂名网站建设建站系统
  • 建设部网站资质深圳市盐田区建设局网站
  • 做印刷网站公司炫酷的电商网站设计
  • 邯郸网络科技公司电话seo在线培训课程
  • 网站有哪几种电子商务公司名字推荐
  • 优秀网站 要素外贸网站在哪做外链
  • 在上海总部互联网公司排名西安官网优化技术
  • 广州白云手机网站建设移动网站网上营业厅
  • 网站开发目的简介门窗 东莞网站建设
  • 小轲网站建设简述网站建设流程
  • 公益网站建设网站开发软件系统
  • 化妆品网站建设的论文宁波seo网络推广软件系统
  • 毕业设计做系统跟做网站哪个容易营销qq多少钱一个月
  • 国外的自建站平台是什么个人形象设计网站
  • 宏福建设集团有限公司网站高校廉洁文化建设网站
  • 湛江网站制作网站网站空间和数据库空间
  • 雄安建设集团 网站店面设计模板
  • 安陆建设局网站网站制作难度
  • 做语文高考题网站网站关键词密度查询
  • 如何提高 网站的点击量WordPress添加加载用时
  • 网站建设逻辑手机可以做网站
  • 提供网站建设工具淘客怎么用网站做
  • 网站建设项目申请ppt郑州网站建设到诺然
  • 苏州工业园区两学一做教育网站wordpress 图片备份
  • 制作网站在本机运行景观设计公司名字
  • 凡科做的网站推效果创网科技有限公司怎么样
  • 主流网站 技术网站建设所需美工
  • 上海做网站建设公司网络推广方法技巧
  • 电商网站设计风格和内容网络架构模拟设计
  • 南阳做网站价格网站建设 ipv6