gpt4 book ai didi

c++ - 如何去除这种循环依赖

转载 作者:太空狗 更新时间:2023-10-29 20:30:01 26 4
gpt4 key购买 nike

我目前正在尝试设计一款屏幕捕获软件。

我遇到的一个设计问题是我想知道是否可以消除 PictureGetter 和 PictureProcessor 之间的循环依赖。

getter 需要调用处理器来告诉它一张图片已经准备好了。处理器必须告诉 getter 它已完成对图片的处理。

这两个元素在不同的线程中,不能直接共享数据(我也不想共享数据),它们只能将目标对象的成员调用添加到该对象的queue队列中。 (例如 queue.add(&PictureProccessor::sendPicture,picture) )

enter image description here

最佳答案

使用资源管理器,让双方都知道这一点。 getter 可以将要与管理器处理的图片排入队列,然后管理器可以拥有一个处理器“池”,其中一个可用于处理。处理器可以将处理过的图片与资源管理器一起排队,然后资源管理器可以通知适当的 getter。我敢肯定这个模式有一些时髦的名字,但现在想不起来了。

关于c++ - 如何去除这种循环依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8262984/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com