boost-coroutine

    2热度

    1回答

    我想创建一个异步函数,它将最后一个参数boost :: asio :: yield_context作为参数。例如: - int async_meaning_of_life(asio::yield_context yield); 我也想与短耳如何返回错误代码是一致的。也就是说,如果用户确实: int result = async_meaning_of_life(yield); 和函数调用失败

    6热度

    1回答

    如何分割栈工作?这个问题也适用于Boost.Coroutine,所以我在这里也使用C++标记。主要的疑问来源于此article看起来他们做的是保持一定的空间,在堆栈的底部,并检查它是否已经得到了通过注册某种信号处理与分配存在的内存崩溃(可能通过mmap和mprotect?)然后,当他们发现他们的空间不足时,他们继续分配更多的内存,然后从那里继续。关于这个的3个问题 这不是构建用户空间的东西吗?他们

    0热度

    1回答

    我编译的例子parallel.cpp与boost::coroutines::coroutine一起发货都是32位和64位程序。 它们都编译和链接没有错误。 32位程序运行并按预期运行,但64位应用程序在启动时崩溃。 在Windows 7 64位上使用Visual Studio 2012 Express。 编辑:协同程序已被接受为提振,但尚未发布作为升压发行版的一部分。我使用了作者'最终'版本中的例

    5热度

    2回答

    在阅读的coroutine2的文档,我发现的代码演示了如何使用asio 用它来这里引用一个不错的snippet是从文档代码: void session(boost::asio::io_service& io_service){ // construct TCP-socket from io_service boost::asio::ip::tcp::socket socket(

    0热度

    1回答

    我想接受线程0中的连接,然后将此套接字发布到其他线程(1 - 31)之一以进行负载均衡,然后我希望此套接字的所有其他操作都将位于同一线程中,通过使用协程 - 至避免线程上下文切换 g。 我想用io_service + work + vector<boost::thread>上进行负载平衡不同的线程执行异步回调。 但是与此同时我想通过在同一个线程内使用协程来执行所有其他的操作 - 没有负载平衡和快速

    0热度

    1回答

    C++ 14我想建立一个机制,以“顺序”方式使用异步API,使用单线程。 更明确,我想才达到这样的事: // Transform AsyncOp1 into SyncOp1 // SyncOp1 returns after AsyncOp1 completes // but yields execution to another script void SyncOp1() { A

    6热度

    1回答

    尝试把助推新协程功能,我创建了以下程序: #include <boost/coroutine/all.hpp> #include <string> #include <vector> typedef boost::coroutines::coroutine<int(char)> coroutine_t; void f(coroutine_t::caller_type & ca)