我觉得奇怪的是,尽管有大量的多线程构造,但该标准却缺少线程池类。什么原因可能会阻止委员会将其添加到标准中?
C++ 与 C 一样,旨在为程序员提供尽可能多的控制权。 C++ 中的几乎所有内容都是一个非常简单的包装器。这使程序员可以自由地实现他们想要的任何功能。
“什么是工作”的概念有点抽象,并且取决于用例,因此 C++ 为您提供了工作线程(线程),并让您定义一个策略,以决定如何在工作线程之间分配工作。
例如,在 Python 中,您可以将工作映射到线程。使用这意味着只要有工作可用,线程就会接管该工作。但是,如果您希望线程仅在有工作要做时才执行工作,该怎么办AND满足一定条件后。您可以设计您的 thread_pool 类来满足所有这些规范。在 Python 中,您必须在线程池库之外单独处理这些检查。
虽然没有官方答案,但我认为这是更有意义的答案。 C++ 是关于使用最少量工具的控制(但与 C 相比是扩展集)。委员会很可能不会添加 thread_pool 类,因为计算机科学中最难做的事情就是让人们达成一致。线程池的实现并不一定非常困难,并且定义工作者的定义可以说更难。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)