生产者消费者

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

相关推荐
天若有情67312 分钟前
【C++原创开源】formort.h:一行头文件,实现比JS模板字符串更爽的链式拼接+响应式变量
开发语言·javascript·c++·git·github·开源项目·模版字符串
好家伙VCC16 分钟前
**发散创新:基于Python与ROS的机器人运动控制实战解析**在现代机器人系统开发中,**运动控制**是实现智能行为的核心
java·开发语言·python·机器人
2401_8274999916 分钟前
python项目实战09-AI智能伴侣(ai_partner_2-3)
开发语言·python
派葛穆19 分钟前
汇川PLC-Python与汇川easy521plc进行Modbustcp通讯
开发语言·python
代码小书生1 小时前
Matplotlib,Python 数据可视化核心库!
python·信息可视化·matplotlib
lzhdim1 小时前
SharpCompress:跨平台的 C# 压缩与解压库
开发语言·c#
嘿嘿嘿x31 小时前
Linux记录过程
linux·开发语言
默 语1 小时前
Records、Sealed Classes这些新特性:Java真的变简单了吗?
java·开发语言·python
架构师老Y1 小时前
013、数据库性能优化:索引、查询与连接池
数据库·python·oracle·性能优化·架构
止观止1 小时前
拥抱 ESNext:从 TC39 提案到生产环境中的现代 JS
开发语言·javascript·ecmascript·esnext