![]() |
1
7
搜索POSIX线程,也称为pthreads。 Tutorial Here |
![]() |
2
8
|
![]() |
4
3
如果您想要一个简单的方法来做这件事,OpenMP是一个功能强大的多线程库,gcc支持它。
这将执行两个数组的简单加法并将结果存储在“a”中,但在四核计算机上,将产生4个线程来处理它(如果支持超线程,则为8个)。
|
![]() |
5
1
第一件事是问问自己是否真的需要在这里执行多线程。您是否需要线程之间的共享状态,例如,来自所有url的解析信息最终是否位于同一数据结构中?否则,进程(fork)就足够了。或者你甚至可能不会走那么远,只使用基于事件的编程(glib,libev)。
如果只是为了加速下载,也许你的http库已经有了相关的功能。对于curl,有一堆curl\u multicall,有一个有趣的 example here . |
![]() |
6
1
这取决于你的申请。
producer consumer pattern 并测试自己需要多少线程(试着用一个低的数字,看看有多少给你最好的表现)。可以找到一些例子 here 和 here 正如其他答案所指出的,您可以使用pthreads来实现线程。 |
![]() |
Community wiki · C中有哪些耗时的操作? 1 年前 |
![]() |
Community wiki · 将所有处理器电源都投入到任务中 1 年前 |
![]() |
Community wiki · C++为C添加了什么?[已关闭] 1 年前 |
![]() |
Community wiki · 打印1到1000,不带循环或条件 1 年前 |