生产者消费者

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

相关推荐
naruto_lnq1 分钟前
泛型编程与STL设计思想
开发语言·c++·算法
2301_8213696118 分钟前
用Python生成艺术:分形与算法绘图
jvm·数据库·python
:Concerto22 分钟前
JavaSE 注解
java·开发语言·sprint
机 _ 长33 分钟前
YOLO26 改进 | 基于特征蒸馏 | 知识蒸馏 (Response & Feature-based Distillation)
python·深度学习·机器学习
m0_748708051 小时前
C++中的观察者模式实战
开发语言·c++·算法
qq_537562671 小时前
跨语言调用C++接口
开发语言·c++·算法
wjs20241 小时前
DOM CDATA
开发语言
Tingjct1 小时前
【初阶数据结构-二叉树】
c语言·开发语言·数据结构·算法
2401_832131951 小时前
Python单元测试(unittest)实战指南
jvm·数据库·python
猷咪2 小时前
C++基础
开发语言·c++