[英]Parallel programming with c++ async
有什么方法可以設置異步功能(從將來開始)可以創建的最大線程數? 我更喜歡使用async / future.get,因為它可以轉換為同步/生成多任務模型,這在有關Alghoritms(即Cormen)的教科書中很常見。 我希望能夠獲得T [p](使用p個處理器/線程來完成程序的時間)。
抱歉不行。 眾所周知, std::async
的控件受到限制,它為您提供了如何創建線程的控制。
您可能考慮使用增強線程池。 這是boost asio的一部分(在某種程度上是直觀的),並且使用io_service
對象,即使/如果您實際上並未將其用於I / O。
有了它,控制使用的線程數非常容易,包括僅使用一個。
當然,您可以根據標准組件構建自己的線程池類。 當然有可能,但並非完全無關緊要的任務。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.