草庐IT

boost-pool

全部标签

python - Windows 上的 multiprocessing.Pool.apply_async

我正在尝试使用池来并行分配一些子进程调用。如果我为池构建一个完整的可迭代对象并使用imap、map、imap_unordered等,一切都很好,但我无法获得apply_async开始工作。例如,这可以正常工作:fromsubprocessimportcheck_callfrommultiprocessingimportPooldefdispatch_call(file_name):returncheck_call(...)if__name__=='__main__':files=(constructedfilelist)pool=Pool()pool.imap(dispatch_cal

windows - 在 Windows 7 上使用 boost 设置 Clion

我需要一些简单的示例,说明如何在Windows7下的ClionIDE中使用CMake包含boost库/header。C++11需要它。Boost库和header安装在自定义目录中。我已经为编译器安装了cygwinx64。一些解决方案:我刚刚包含了cygdrive格式的boost头文件include_directories("/cygdrive/e/Libs/BoostLibs/include/boost-1_57")但仍然不明白Clion从哪里获得这些库。更好的解决方案需要设置varBOOST_ROOT所以我做了(并使用了更多变量):set(BOOST_ROOT"/cygdrive/e

c++ - Boost asio async_accept 在 Windows 下工作,但在 FreeBSD 下失败。怎么了?

编辑:看起来这不是我的代码而是构建环境。这既好又坏,因为现在我知道代码没问题,但不知道如何调试环境。这里有什么建议吗?请记住,我没有这台计算机的管理员权限。我一直在尝试让简单的代码在FreeBSD下工作。这是从Boost1.64asio调用async_accept不正常的。相同的代码在Windows下工作正常,但在FreeBSD下它接受客户端连接(客户端的连接调用成功)但从不调用它的处理程序。甚至不知道如何处理这个问题。(请注意,与我调用io_service.run()的其他相关问题不同)请帮忙。显示问题的自包含代码:#include#include#includenamespacea

windows - 在 Windows 上将 Boost 与 Cygwin 结合使用

对于比我更高级的用户来说,这应该是一个简单的问题。:-)如何在Windows上将boost库与cygwin一起使用?我正在winxp机器上使用cygwin使用g++进行编程。我需要修改二阶贝塞尔函数,所以我下载了最新版本的boost库并将其安装在'c:\cygwin\lib\boost_1_38_0\'文件夹。我正在尝试从他们网站的“入门”部分运行“example.cpp”程序:http://www.boost.org/doc/libs/1_35_0/more/getting_started/unix-variants.html我正在使用简单的Bashshell命令行从创建示例文件的目

c++ - 如何将 boost::shared_ptr 作为指向 Windows 线程函数的指针传递?

如何将boost::shared_ptr作为指向Windows线程函数的指针传递?假设以下代码:test::start(){...._beginthreadex(NULL,0,&test::threadRun,&shared_from_this(),0,&threadID);......}/*thisisastaticfunction*/UINT__stdcalltest::threadRun(LPVOIDlpParam){shared_ptrk=*static_cast*>(lpParam);...}我认为这段代码不正确,你的想法是什么?我该怎么做?编辑:我通过boost::weak

c++ - Windows 的 Boost Mutex 实现

据我所知,在旧版本的Boostboost::mutex中,Windows的实现是使用临界区完成的。但是在最新版本的Boost1.51中,我发现现在互斥锁的实现是基于事件的。有人知道这种变化背后的原因是什么吗?是因为性能原因而完成的吗?关键部分会被弃用吗? 最佳答案 通过使用boost我们总是有最好的方法而不改变,这不是很好吗?在boost的新版本中,boost::mutex被实现为一个自旋锁,但在Windows事件的帮助下避免了繁忙的等待,并且该事件只会在需要时创建,因此它的重量非常轻,性能非常高,还可以让boost使用这个轻量级的

c++ - Windows 事件的等效 boost

在WindowsC++中我可以创建一个事件句柄处理h=CreateEvent(...)然后我可以设置和重置该事件SetEvent(...)和ResetEvent(...)最后,我可以使用命令OpenEvent(...)来打开事件事件是否有等效的boost? 最佳答案 我认为您需要使用boost::mutex、boost::unique_lock、boost::condition_variable和可能的bool以模仿事件。您实际上可能需要某种WaitForSingleObject来等待事件。可能是这样的:voidwait_for_u

c++ - boost::interprocess 互斥量并检查是否被遗弃

我需要围绕一个硬件进行进程间同步。因为此代码需要在Windows和Linux上运行,所以我使用Boost进程间互斥锁进行封装。一切正常接受我检查互斥量放弃的方法。这有可能发生,所以我必须为此做好准备。我在测试中放弃了互斥锁,果然,当我使用scoped_lock锁定互斥锁时,进程会无限期地阻塞。我认为解决这个问题的方法是在scoped_lock上使用超时机制(因为花很多时间在谷歌上搜索解决这个问题的方法并没有真正显示太多,出于可移植性的原因,boost并没有做太多事情)。事不宜迟,这就是我所拥有的:#include#includetypedefboost::interprocess::n

c++ - 取消后无错误地调用 boost::asio 异步处理程序

我的代码在单个线程中使用boost::asio和io_service来执行各种套接字操作。所有操作都是异步的,每个处理程序都依赖于boost::system::error_code(特别是boost::asio::error::operation_aborted)来确定操作。在我更改逻辑以建立多个并发连接并选择最快的连接之​​前,它一直运行良好。也就是说,当第一个async_read_some处理程序触发时,我取消其他套接字(关闭、关闭-一切)并继续当前的套接字。在95%的情况下,调用其他套接字的读取处理程序时会出现operation_aborted错误。然而有时,这些读取处理程序被调

c++ - 带有 Boost 的 CMake 找不到静态库

我在使用CMake和Boost库时遇到了一些问题。我有以下错误:CMakeErroratC:/ProgramFiles(x86)/CMake2.8/share/cmake-2.8/Modules/FindBoost.cmake:1111(message):UnabletofindtherequestedBoostlibraries.Boostversion:1.55.0Boostincludepath:C:/local/boost_1_55_0CouldnotfindthefollowingstaticBoostlibraries:boost_systemboost_date_time