生产者消费者

class BaseComponent(ABC):

def init(

self,

logger_name: str = None,

) -> str:

self._logger = logging.getLogger(logger_name)

self._producers: list[BaseComponent] = []

self._consumers: list[BaseComponent] = []

@final

def bind_producer(self, upstream) -> None:

self._producers.append(upstream)

@final

def bind_consumer(self, downstream) -> None:

self._consumers.append(downstream)

@abstractmethod

def start(self) -> None:

pass

@abstractmethod

def stop(self) -> None:

"""界面上点击停止测试时,调用此方法"""

pass

def pause(self) -> None:

"""界面上点击sleep进入休眠状态、或Cyclic模式进入Sleep阶段时,调用此方法"""

self._pause_flag = True

def resume(self) -> None:

"""界面上点击Run进入运行状态、或Cyclic模式进入Run阶段时,调用此方法"""

self._pause_flag = False

def consume(self) -> None:

pass

相关推荐
belldeep15 小时前
python:用 Flask 3 , mistune 2 和 mermaid.min.js 10.9 来实现 Markdown 中 mermaid 图表的渲染
javascript·python·flask
喵手15 小时前
Python爬虫实战:电商价格监控系统 - 从定时任务到历史趋势分析的完整实战(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·电商价格监控系统·从定时任务到历史趋势分析·采集结果sqlite存储
m0_7369191015 小时前
C++中的委托构造函数
开发语言·c++·算法
喵手16 小时前
Python爬虫实战:京东/淘宝搜索多页爬虫实战 - 从反爬对抗到数据入库的完整工程化方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·京东淘宝页面数据采集·反爬对抗到数据入库·采集结果csv导出
lsx20240616 小时前
Python3 SMTP发送邮件教程
开发语言
懈尘16 小时前
从 Java 1.7 到 Java 21:逐版本深入解析新特性与平台演进
java·开发语言
凉辰16 小时前
使用uni.createInnerAudioContext()播放指定音频(踩坑分享功能)
开发语言·javascript·音视频
hello 早上好16 小时前
05_Java 类加载过程
java·开发语言
B站_计算机毕业设计之家16 小时前
猫眼电影数据可视化与智能分析平台 | Python Flask框架 Echarts 推荐算法 爬虫 大数据 毕业设计源码
python·机器学习·信息可视化·flask·毕业设计·echarts·推荐算法
PPPPPaPeR.16 小时前
光学算法实战:深度解析镜片厚度对前后表面折射/反射的影响(纯Python实现)
开发语言·python·数码相机·算法