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