boost-thread相关内容
我试图写一个相当简单的多线程应用程序,但我新的提高的线程库。一个简单的测试程序,我的工作是: 的#include<&iostream的GT; #包括LT&;升压/ thread.hpp>INT结果为0; 提高::互斥result_mutex;提高:: thread_group克;无效threaded_function(int i)以 { 对于(; I< 100000;
..
当包括<升压/ thread.hpp> 我得到这个异常: 在0x7c812afb在CSF.exe第一次机会异常:微软C ++异常: 提高:: exception_detail :: clone_impl<提高:: exception_detail :: bad_alloc_>在内存位置0x0012fc3c .. 在0x7c812afb在CSF.exe第一次机会异常:微
..
我已经建立了使用boost: 的bjam --toolset = GCC --with线程阶段 每当我试图实际使用Boost.Thread我越来越未定义的引用,尽管我反对它链接。它不会像正则表达式或其他系统Boost库发生。> G ++的main.cpp -I。 -L。 -lboost_thread-mgw45-MT-1_46_1 C:\\用户\\ jhasse \\应用程序数据\\本
..
我想学习如何使用C ++ Boost.Thread库。我已经安装了我的Ubuntu 11.10系统上的Boost库。我下面的书“Boost C ++库”的Schaling - 66我试图编译下面code例如页面上专门例如6.1: 的#include<升压/ thread.hpp> #包括LT&;&iostream的GT;无效的等待(INT秒) { 提高:: this_thread
..
在的Boost库的1.50.0版本的发行说明我注意到2重大更改(的看到这里): #6266重大更改:线程析构函数应该调用终止,如果可连接。 #6269重大更改:螺纹移动分配应调用终止,如果连接的。 这是什么意思为目前使用Boost 1.49.0我现有的项目?我一定要改变什么?如果是的话,我有什么确切的变化?会发生什么,如果我忘记修改我现有的项目之一?我会得到编译时错误(我希望如此
..
我在修改的东西由不正常的主线程处理的线程提升一些code运行,这是有道理的。 在Android上我将有处理程序这是将执行在主线程我的code消息队列,我可以通过我想这一切参数处理程序。 我想要做同样的升压 等我的主线程我做到以下几点: 的boost ::线程的WorkerThread(的boost ::绑定(安培; SomeClass的:: pollService,这一点)); 我po
..
我们正在写一个iPad应用程序与相当多的背景处理所有这一切都写在了一组C ++库。这些库做工精细在Linux,Mac和Windows,但在iPad上他们只在调试工作的基础之上。 在发布版本,它看起来像当第一个子线程正在加速旋转,要么从来没有真正启动,或者它不会在其加工得到远远不足以让主线程继续(是不是很从调试明显,如果线程实际上是启动或没有因使用断点在发布版本)的正常问题。在主线程坐在的boos
..
我怎样才能使一个队列线程安全的?我需要推/流行/正面/背面,清晰。有升压相似的地方? 我有一个生产者和一个或多个消费者 解决方案 您必须保护访问的std ::队列。如果您在使用升压保护它使用的boost ::互斥。现在,如果你有多个读者和一位作家线程看看的boost :: shared_lock (读者)和的boost :: unique_lock (对于作家)。 然而,如果你将遇到的
..
使用Visual Studio 2008和Boost库1.46.1我要编译和链接与/ CLR标志如下: 的#include<升压/线程/ thread.hpp> 无效的run(){} INT主(INT ARGC,CHAR *的argv []) { 提高::线程t(运行); } 第一个错误是有关的boost ::线程正向声明伪结构。 这个帖子 围绕这个工程通过声明:名字空间
..
我已经搜索并发现很多人有同样的问题,但没有解决方法。我使用CMake的生成MinGW的Makefile文件 和编译时,我得到一个错误: CMakeFiles \\ boosttest.dir / objects.a(main.cpp.obj):main.cpp中:(文字+ 0x5e):未定义的参考`_imp___ZN5boost6thread4joinEv“ CMakeFiles \\ bo
..
Boost库版本1.53结果 Debian的Linux的6.0(在x86_64的Linux 2.6.32-5-AMD64) 这是很难测试时的valgrind日志中包含大量的警告自己的软件。结果 因此,与没有改变我建立了HTTP服务器3例及Valgrind的下运行它。结果 看看,谢谢。我错过了什么? Valgrind的--tool = helgrind --log文件= valgrind.
..
我有一个工人阶级像下面这样: 类工人{ 上市: INT DO(){ INT RET = 100; // 做东西 返回RET; } } 这是为了用的boost ::线程执行和boost ::绑定,如:用工; 提振::函数< INT()> th_func =的boost ::绑定(安培;工人::这样做,和放大器;工人); 提高::线程日(th_func
..
所以我使用一个的boost :: lockfree :: spec_queue 通过两个boost_threads运行两个对象的函子在我的应用程序进行通信。 一切都只是一个事实,即 spec_queue :: POP()方法是非阻塞的罚款。它返回真或假,即使有什么在队列中。但是我的队列似乎总是返回True(#1问题)。我想这是因为我preallocate队列中。 的typedef的boost
..
thread_ =提高::线程(升压::功能<无效(无效)>(升压::绑定(安培; clientTCP ::来看,这一点))); 是有可能,运行有一个这样的说法:无效clientTCP ::运行(升压:功能<无效(标准::字符串)> FUNC); ,如果是我的boost ::线程调用应该怎么写 感谢。 解决方案 以下code 的boost ::绑定(安培; c
..
我创建一个新运营商的boost ::线程对象,并继续无需等待这个线程完成其工作 无效do_work() { //执行一些I / O工作 }提高::螺纹*线程=新的boost ::线程(安培; do_work); 我想,有必要删除线程当工作就完成了。什么是最好的办法没有明确等待线程终止? 解决方案 的的boost ::线程对象的生命周期和本地线程的生命周期无关。在的boost ::
..
这是code创建一个thread_group和并行执行的所有线程: 的boost :: thread_group组; 的for(int i = 0; I< 15; ++ I) group.create_thread(aFunctionToExecute); group.join_all(); 这code将同时执行所有线程。我想要做的就是执行他们所有,但4最大并行。当在终止时,另
..
什么是一个很好的开源实现对C的线程池++的生产code使用(像升压)? 请提供你自己的例子code或例如code使用的链接。 解决方案 我觉得它仍然是不被接受进入Boost,但一个好的开始点: 线程池。使用的一些例子中,从网站: 的#include“threadpool.hpp”使用空间boost ::线程池;//一些示例任务 无效first_task() { ... }无效se
..
是否有可能使用提升的线程创建一个线程池? 我一直在寻找遍布升压转换器的库,我无法找到一个线程池管理器(或者类似的东西)... 有没有办法做到这一点? TNX! 解决方案 有是一个非官方的(但)线程池的提升。 但它不是一个问题,实现一个自己尤其是伟大的通用性不是首要目标。理念:您的线程池可以用任务类型的类型和工人的数量进行参数化。该TP必须给予处理函数,它接受任务类型。 TP包含添加
..
如何创建在C ++使用boost线程池,以及我如何将任务分配给线程池? 解决方案 这个过程是pretty简单。首先创建一个ASIO :: io_service对象和thread_group。填补挂io_service对象线程thread_group。将任务分配给使用的boost ::绑定功能的线程。 要停止线程(通常,当你退出程序)只是停止io_service对象,并加入所有线程。 您
..
我有了经常读一些数据的多线程应用程序,偶尔的数据将被更新。眼下一个互斥体保持访问这些数据的安全,但它是昂贵的,因为我想多线程可以同时读取,而其中只有锁定需要更新的时候(更新线程可以等待其他线程完成) 我想这是的boost :: shared_mutex 是应该做的,但我不是关于如何使用它清晰,并没有发现一个明显的例子 有没有人有一个简单的例子,我可以用它来开始? 解决方案 它看起来像你
..