生产者消费者

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

相关推荐
badhope5 小时前
Mobile-Skills:移动端技能可视化的创新实践
开发语言·人工智能·git·智能手机·github
码云数智-园园6 小时前
微服务架构下的分布式事务:在一致性与可用性之间寻找平衡
开发语言
吴佳浩6 小时前
GPU 编号进阶:CUDA\_VISIBLE\_DEVICES、多进程与容器化陷阱
人工智能·pytorch·python
C++ 老炮儿的技术栈6 小时前
volatile使用场景
linux·服务器·c语言·开发语言·c++
hz_zhangrl6 小时前
CCF-GESP 等级考试 2026年3月认证C++一级真题解析
开发语言·c++·gesp·gesp2026年3月·gespc++一级
Liu628886 小时前
C++中的工厂模式高级应用
开发语言·c++·算法
IT猿手6 小时前
基于控制障碍函数的多无人机编队动态避障控制方法研究,MATLAB代码
开发语言·matlab·无人机·openclaw·多无人机动态避障路径规划·无人机编队
全栈凯哥6 小时前
18.Python中的导入类完全指南
python
AI科技星7 小时前
全尺度角速度统一:基于 v ≡ c 的纯推导与验证
c语言·开发语言·人工智能·opencv·算法·机器学习·数据挖掘
sunwenjian8867 小时前
Java进阶——IO 流
java·开发语言·python