在Windows和Linux上进行线程化

时间:2010-06-28 16:49:13

标签: c++ multithreading

我已经在互联网上看过用于在Windows上用C ++制作多线程应用程序的教程,以及在Linux上做同样的其他教程,但不是同时用于两者。即使它们是在Linux或Windows上编译的,还有可行的功能吗?

8 个答案:

答案 0 :(得分:14)

您需要使用一个库,其中包含Linux上的pthread和Windows上的Win32线程库(CreateThread和朋友)的实现。

Boost thread是一个受欢迎的选择,它将系统抽象出来。

答案 1 :(得分:5)

您可以使用POSIX线程并使用此库在Windows上获取pthread。

http://sourceware.org/pthreads-win32/

(如果您已经习惯在POSIX系统上进行线程化,这可能只是一个不错的选择......)

答案 2 :(得分:2)

您可以从boost::thread开始。该库提供了一个抽象层,并在内部针对每个受支持平台的本机线程API进行工作。

答案 3 :(得分:2)

你应该看看升级库。

答案 4 :(得分:1)

或者你可以使用ZThread,它非常轻量级而不是boost::thread

答案 5 :(得分:0)

您还可以查看诺基亚Qt的QThread

答案 6 :(得分:0)

便携式选项也出现在TBB's threads中。当然,TBB鼓励您使用tasks而不是threads的概念,但如果您只需要线程,那么this example可以提供帮助(您必须转换已弃用的标头)和线程声明到新的。)

答案 7 :(得分:0)

我建议TinyThread++TinyCThread。 我开始使用TinyCThread,我发现它非常简单,它支持许多系统,包括Windows和Linux。