草庐IT

put_async

全部标签

c++ - boost 等效于 std::async()

如果不直接使用boost::thread和boost::bind,有没有办法实现以下代码的等价物?std::stringfunc(){std::stringstr("Hellofromasynctask!");returnstr;}intmain(){autoftr=std::async(&func);std::cout具体来说,这部分:autoftr=std::async(&func);? 最佳答案 当然。只需制作async(std::function)返回调用func()的future第一次等待的那一刻。您不会获得任何异步性,但

c++ - 为 std::put_time 调试断言 "Invalid format directive"

我正在学习使用C++11chrono,并尝试输出时间。OtherSOquestions显示一些代码示例,例如std::chrono::time_pointnow=std::chrono::system_clock::now();std::time_tnow_c=std::chrono::system_clock::to_time_t(now-std::chrono::hours(24));std::cout当我在VS2012上调试运行它时,我得到一个调试断言,声称我使用了“无效的格式指令”。如果我使用std::strftime,也会发生同样的情况。我假设Microsoft不支持%F和%

c++ - GCC 对 std::async(std::launch::async) 的行为与 Clang 的行为

有没有人有使用相当新的std::async的经验?我们目前正在实现一个并行文件解析器,它读取一个文件block并将该block传递给一个异步函数。以这种方式使用Clang(v3.0)与默认的std::async策略(依赖于实现)一起工作得很好。在双核机器上,它最多可触发4个线程,效果非常好。但是对于GCC(v4.7),文件读取线程不会产生任何新线程,从而使程序最终完全按顺序执行。使用std::launch::async,两个版本几乎都在做同样的事情(应该是这样)。有谁知道GCC的c++11线程功能的当前状态?或者这可能是我们实现中的错误?短代码:while(readNewChunk()

c++ - boost::asio 中 async_read() 中的 EOF

当async_read_some()返回EOF异常时,是服务器停止发送数据还是连接已关闭。我有这种困惑,因为我找不到一种方法来知道客户端是否已从服务器接收到所有数据。 最佳答案 表示连接已经关闭。虽然记录了elswhere它仍然适用:Anerrorcodeofboost::asio::error::eofindicatesthattheconnectionwasclosedbythepeer.如果客户端需要知道已经从服务器接收到所有数据,那么可以考虑在通信协议(protocol)中支持分帧。Boost.Asio提供更高级别的操作来帮

c++11 std::async 在 mingw 中不起作用

从HerbSutter的presentation运行这段代码.这在gcc4.6.3下的linux中工作正常。我在想mingw不支持future.h,但是这个错误真的很难理解!#include#include#include#include#includeusingnamespacestd;stringflip(strings){reverse(begin(s),end(s));returns;}intmain(){vector>v;v.push_back(async([]{returnflip(",olleH");}));v.push_back(async([]{returnflip(

c++ - 用自己的版本替换 std::async 但 std::promise 应该住在哪里?

我使用的是vc2011,结果发现std::async(std::launch::async,...)有点问题(有时它不会生成新线程并并行运行它们,而是重用线程并一个接一个地运行任务)。当我进行昂贵的网络调用时,这太慢了。所以我想我会编写自己的异步函数。我被卡住了,std::promise应该放在哪里?在1)线程函数、2)异步函数或3)调用函数中。代码:#include#include#include#include#includestd::stringthFun(){throwstd::exception("bang!");return"val";}std::futuremyasync

windows - 如何使用curl在Windows下发布PUT请求?

我需要在Windows下使用PUT请求通过curl.exe发布XML数据。在curl帮助中我发现:-d/--dataHTTPPOSTdata(H)我应该为提供什么?? 最佳答案 curl示例调用#withinliningplaindatacurl-XPUT-d"payload"http://localhost#referrringfilecurl-XPUT-d@myXmlFile.xmlhttp://localhost如果您的Windowscurl-port不支持它,请转到cygwin.它是一个类似linux的Windows环境,还

Python 多处理 apply_async 从不在 Windows 7 上返回结果

我正在尝试遵循一个非常简单的多处理示例:importmultiprocessingasmpdefcube(x):returnx**3pool=mp.Pool(processes=2)results=[pool.apply_async(cube,args=x)forxinrange(1,7)]但是,在我的Windows机器上,我无法得到结果(在ubuntu12.04LTS上它运行完美)。如果我检查结果,我会看到以下内容:[,,,,,]如果我运行results[0].ready(),我总是得到False。如果我运行results[0].get(),python解释器会卡住,等待获取永远不会

c++ - 将 C++11 async/futures 与 Windows 异步 IO 相结合的最佳 API 是什么?

特别是即将推出的Windows8(带有Metro)将要求任何IO异步编程。在C#/.Net中似乎有特殊的await和类似的构造,JavaScriptAPI将有自己的机制来实现它。什么是C++11集成?对于现代(或即将推出的)Windows,这是一个简洁的示例(例如,从文件中读取图像以供显示吗?)?如果它使用C++11功能,我希望涉及async或future吗? 最佳答案 TipsandtricksfordevelopingMetrostyleappsusingC++演示文稿在59:13介绍了这一点。原始接口(interface)使用

android - 混淆器错误 : Expecting class path seperator - not sure where I need to put a path in quotes

错误:BUILDFAILEDC:\workspace\projectName\add-proguard-release.xml:35:Expectingclasspathseparator';'before'Files\eclipse\android-sdk-windows\platforms\android-3\android.jar'inargumentnumber1我完全知道我的问题是我在c:\programfiles\eclipse目录中有eclipse+android-而“程序”和"file"之间的空格导致了这个问题。我也知道一个解决方案是将此路径放在引号中。我的问题是将这些