生产者消费者

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

相关推荐
2601_9491465318 小时前
Python语音通知接口接入教程:开发者快速集成AI语音API的脚本实现
人工智能·python·语音识别
寻梦csdn19 小时前
pycharm+miniconda兼容问题
ide·python·pycharm·conda
毕设源码-邱学长19 小时前
【开题答辩全过程】以 基于PHP的发热病人管理平台的设计与实现为例,包含答辩的问题和答案
开发语言·php
HellowAmy19 小时前
我的C++规范 - 线程池
开发语言·c++·代码规范
独自破碎E19 小时前
【BISHI9】田忌赛马
android·java·开发语言
czy878747519 小时前
const 在 C/C++ 中的全面用法(C/C++ 差异+核心场景+实战示例)
c语言·开发语言·c++
范纹杉想快点毕业19 小时前
实战级ZYNQ中断状态机FIFO设计
java·开发语言·驱动开发·设计模式·架构·mfc
Java面试题总结19 小时前
基于 Java 的 PDF 文本水印实现方案(iText7 示例)
java·python·pdf
不懒不懒20 小时前
【决策树算法实战指南:从原理到Python实现】
python·决策树·id3·c4.5·catr
马猴烧酒.20 小时前
【面试八股|Java集合】Java集合常考面试题详解
java·开发语言·python·面试·八股