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)