System.Threading.Tasks 在 UNIX 和 C++ 中等效

System.Threading.Tasks equivalent in UNIX and C++

我读过这篇关于多核处理的文章:
https://blogs.msdn.microsoft.com/usisvde/2009/10/24/how-to-get-started-with-multi-core-parallel-processing-you-can-use/

在 .NET Framework 4 中,有一个名为 System.Threading.Tasks 的方法可以管理可用的逻辑处理器。有没有什么方法可以在没有 .NET Framework 的情况下在 C++ 和 UNIX 中做同样的事情?

我的意思是避免被窃听。

不确定 .NET 到底做了什么,但 std::async / std::future 允许任务并行排队。

不,没有内置的直接等效项。

std::async 用于每个异步任务,即当您有许多短操作时非常慢。

您可以寻找第三方C++线程池实现。

或者你可以切换到更高级别API。我有积极的经验 OpenMP, it’s included in most C++ compilers, and under the hood it does have a thread pool with a scheduler. I’ve heard Intel’s TBB 也很好。