这与处理器的线程有什么关系呢?例如,Intel i5有四个内核和四个线程。
我们的程序可以使用多少个线程?例如在C++中使用std::thread (STL)?
对于一个程序来说,8个线程是一个大的还是一个低的数量呢?
这与处理器的线程有什么关系呢?例如,Intel i5有四个内核和四个线程。
我们的程序可以使用多少个线程?例如在C++中使用std::thread (STL)?
对于一个程序来说,8个线程是一个大的还是一个低的数量呢?
std::thread::hardware_concurrency()
作为一个提示。通常情况下,你需要用一个线程池来组织你的程序。英特尔超线程技术常常让人失望。在一个拥有4个核心和8个超线程的英特尔处理器上,你可能不想同时激活8个线程。你需要进行基准测试,但是在这种情况下应该预计会出现一些性能问题(也许只有4或6个活跃线程会使整体性能更好)。
线程是由操作系统提供和管理的一种抽象}。因此,阅读{{link5:操作系统:三个易于理解的部分,以了解更多关于操作系统的信息。