2
英特尔线程构建模块库包含一个concurrent_queue
容器。TBB concurrent_queue使用示例
不幸的是,在互联网上搜索尚未产生TBB库以并行方式使用concurrent_queue
的示例。
有人可以提供一个工作队列的例子,在几个线程同时弹出项目和推物品,直到队列最后是空的?
英特尔线程构建模块库包含一个concurrent_queue
容器。TBB concurrent_queue使用示例
不幸的是,在互联网上搜索尚未产生TBB库以并行方式使用concurrent_queue
的示例。
有人可以提供一个工作队列的例子,在几个线程同时弹出项目和推物品,直到队列最后是空的?
在Intel Threading Building Blocks Design Patterns手册中寻找“concurrent_queue”,你会发现一些例子。
创建类型'Foo';在全局实例化'concurrent_queue';编写两个线程的代码,一个循环'n'次推'new Foo',然后推'nullptr';其他循环会无限地调用'try_pop()',当它弹出'nullptr'时会中断无限循环(但是在推送'nullptr'之前不会退出,以便其他人可以看到它)。在'main()'中,启动两个线程(如果你想要多次),然后加入它们。应该足以让你开始。 –
DanielKO
在MSDN上查看... – Rick