多线程:apache可移植运行时vs boost :: thread?

时间:2010-03-25 16:54:47

标签: c++ multithreading boost apr

对于从未使用过boost的新手学生,哪种方式更好?

当新标准到来时,答案显而易见,但现在我有疑虑。 Pro的提升是它更接近未来的标准。

2 个答案:

答案 0 :(得分:7)

Boost的另一个专业是它使用常见的C ++习语来描述,初始化,运行和连接线程(使用像RAII这样的习语,允许使用仿函数和类似的C ++特定工具)。

像APR这样的低级库依赖于使用类似C的习惯用法,这对于C ++开发人员来说可能更容易出错(例如使用函数指针)。

在我看来,Boost :: Thread更容易使用,因为它允许我使用我在代码中其他地方使用的C ++习语。使用APR,我也可以使用pthreads。

答案 1 :(得分:1)

由于boost :: thread可以看作是线程的提交标准库实现的草案,使用它并且可能在几年内用std :: thread替换它可能是最好的线程库。