If the macro constant is defined by the compiler, the header and all of the names listed here are not provided. Function names, type names, and enumeration constants that begin with either , , , or , and a...
One of the advantages of using instead of manually creating objects is supposed to be that can use thread pools under the covers to avoid oversubscription problems. But which...
More specifically, there are some threads dedicated to the pool and a container of jobs. The jobs come to the pool dynamically. A job is fetched and deleted from the container when there is an idle thread. The job is then run on that thread. A thread pool is helpful when you want to minimize time of loading and destroying threads and when you...
我喜欢一切))不同的方法来理解,然后选择对我来说更有意义、符合要求的方法,这很简单。
整个世界都在用DLL工作,只有一群认为这是终极能力的教派人士在用MKL奇迹工作。
这很搞笑,我非常同意))))。
很好地去阅读手册并思考所提供的选项。
感谢所有真正不忽悠的人,提出各种解决方案。
现在有很多东西可以选择。
我没有理解错,Futures和Async是只适用于C++的标准?
在C语言中不是有一个类似的库吗?
我没有理解错,Futures和Async是只适用于C++的标准?
在C语言中不是有一个类似的库吗?
对。Cish std也有多线程支持https://en.cppreference.com/w/c/thread
ZS:你也可以读一读安东尼-威廉姆斯的《C++并发行动》一书。例如,在第9章中,他写到线程池。
对。Cish std也有多线程支持https://en.cppreference.com/w/c/thread
HH:你也可以读一下安东尼-威廉姆斯的《C++并发行动》一书。例如,在第9章中,他写到线程池。
没有注意到页面底部的See also链接 ))
明白了,std::thread 是在C中,但std::async不是((
现在刚看完这本书))Parallel C++ programming in action, Anthony Williams.
这本书在附件中, async从第四章开始,相当容易读。
而Kurt Ganteroth在他的《优化C++程序》一书中 声称,创建线程的成本是使用std::async的14倍。
这就是为什么我最初想 使用async,但我对C/C++中的线程也不是很了解。
因此,如果线程的成本较高,无论如何都会脱落使用。
但事实证明,在C语言中,std::async并不存在((
没有注意到页面底部的See also链接 ))
明白了,std::thread 是在C中,但std:: async不是((
现在刚看完这本书))平行C++编程的实践,作者:Anthony Williams。
如果你有兴趣,这本书就在附件中,async从第四章开始,相当容易阅读。
而Kurt Ganteroth在他的《优化C++程序》一书中 指出,创建线程的成本是使用std::async的14倍。
这就是为什么我最初想 使用async,但我对C/C++中的线程也不是很了解。
因此,如果螺纹更贵,无论如何都不值得使用。
但事实证明,在C语言中,std:: async并不存在((
线程并不贵,它只是一个较低级的工具,你可以用它来做任何事情。你可以在 "昂贵的线程 "上制作你自己的简单线程池--一个小时的写作(或者采取现成的lib)。
创建线程比使用std::async要贵14倍。
如果Async里面有一个线程池,也许可以,但这并不总是这样https://stackoverflow.com/questions/15666443/which-stdasync-implementations-use-thread-pools。
因此,async是这样一个黑色的、不可控的盒子。我不劝你写自己的池子,如果你对异步感到舒服,也可以。
ZS: 有传言说async将从c++17中删除。Async可以同步执行,有一个标志用于此。我认为pluses上的线程池很复杂,只有在极度必要的情况下才会写它。你最好看看夏普,看看那个线程池。
我还想推荐 "Scott Meyers: Efficient and Modern C++"。2016年,轻松阅读,像一部大片。我在下面附上了档案。他有一个关于螺纹的有趣章节。而一般来说,梅耶斯应该被阅读,因为你必须)))。
我认为专业人员的线程池很棘手,只有在绝对必要时才有意义。
不要让它变得比需要的更难。如果你不想自己写,你可以很容易地采取一个现成的,在这里快速搜索一下https://github.com/vit-vit/ctpl。 而且它是不太容易预测的东西,不像async(经常被批评)。
不要让它变得更难,因为它是必须的。如果你不想自己写,你可以很容易得到一个现成的,这里有一个快速搜索https://github.com/vit-vit/ctpl。 而且它是不太容易预测的东西,不像async(经常被批评)。