生产者消费者

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

相关推荐
我是唐青枫8 小时前
C#.NET YARP + OpenTelemetry:网关链路追踪实战
开发语言·c#·.net
芯芯点灯8 小时前
gd32f303烧录提示Flash Timeout. Reset the Target and try it again.;
开发语言·前端·javascript
绘梨衣5478 小时前
某公开数据简单逆向
python·beautifulsoup
枫叶丹48 小时前
【HarmonyOS 6.0】Enterprise Space Kit:空间管理服务深入解析
开发语言·华为·harmonyos
就叫_这个吧8 小时前
Java实现线程间的通讯--使用synchronized关键字和JUC方式实现
java·开发语言
FlyWIHTSKY9 小时前
Next中引入 Ant Design (antd)的配置
开发语言·前端·javascript
小江的记录本9 小时前
【Java并发编程】锁机制:volatile:JMM内存模型、可见性/禁止指令重排、内存屏障、单例模式中的应用(附《思维导图》+《面试高频考点清单》)
java·后端·python·mysql·单例模式·面试·职场和发展
csdn小瓯9 小时前
前端工程化:React + TypeScript + Tailwind CSS 的组件化实践
开发语言·人工智能·python
hef2889 小时前
R包grafify:简单操作实现高效统计绘图
开发语言·python·r语言