当前位置:  开发笔记 > 编程语言 > 正文

发布/订阅和智能指针

如何解决《发布/订阅和智能指针》经验,为你挑选了1个好方法。

我想实现一个简单的发布/订阅模式,其中:

单个发布者向其订阅者发布令牌(指向对象的指针).发布者和订阅者都是独立的线程.我计划为每个订阅者添加线程安全队列,以便Publisher可以在处理令牌时继续将订阅源分发给订阅者.

正如您所看到的,这意味着所有订阅者实际上共享相同的指针(注意:订阅者无论如何都不能修改指向的对象,所以没有问题).一旦共享指针不再被任何订阅者使用,如果指针在完成最后一个订阅者线程后可以自动删除,那将是非常好的.

这是一个使用智能指针的好地方吗?如果是这样,我应该使用哪些智能指针?

我使用MSVC2008在Windows上开发,并使用Intel TBB,Boost和Qt.



1> metao..:

如果我认为你的设计是可行的(它在零上下文中闻起来很有趣,但可能是正确的),boost :: shared_ptr可能就是这样.

http://www.boost.org/doc/libs/1_38_0/libs/smart_ptr/smart_ptr.htm

编辑:从:: weak_ptr切换到:: shared_ptr,因为我是个白痴......

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有