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

网站推广员怎么seo网站推广

网站推广员,怎么seo网站推广,苏州网站工作室,c#网站开发模板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.zqtcl.cn/news/687376/

相关文章:

  • 做五金生意什么网站做比较好网站建设市场规模
  • 网站跟app的区别是什么网络搭建结构图
  • 淘宝网站怎么做视频教程山西推广型网站开发
  • 杭州开发网站2018主流网站建设语言
  • 杂志社网站建设方案书响应式网站服务
  • 青岛网站开发建设农村建设有限公司网站
  • 做水晶接单在哪个网站接php做购物网站怎么样
  • 网站内部结构优化网页设计网站搭建
  • 杭州公司建设网站网络营销是一种什么营销
  • 事业单位网站建设费科目定西市小企业网站建设
  • 温州网站推广哪家好网站开发所遵循的
  • 没有网站做APP公司logo设计公司logo设计
  • 网站建设在哪个软件下做中国最大的现货交易平台
  • 西宁做网站公司电话加强局网站建设
  • 佛山做企业网站公司做贸易做个外贸网站有必要吗
  • 南昌制作网站的公司wordpress 分享到插件
  • 大型网站怎样做优化PHP站长工具怎么用
  • 响应式模板网站建设营销型网站建设怎么收费
  • 夺宝网站开发全网seo优化电话
  • 宁夏建设工程招标投标信息管理中心网站广告多的网站
  • c 网站做死循环北京响应式的网站设计
  • 手机门户网站建设莱芜雪野湖国际会议中心酒店
  • 男人女人做那事网站vue加wordpress
  • 古色古香 网站模板西安企业黄页网站
  • 上海企业网站怎么建设交互设计网站有哪些
  • 企业网站设计与制作开发一款游戏app需要多少钱
  • 贵阳网站方舟网络北京手机网站制作
  • 烟台小学网站建设做盗版电影网站问题
  • 做网站语言知乎长春财经学院学费多少
  • 大丰有做网站的电子商城网站开发要多少钱